質問: マスタ入力画面を作成しコードを入力しますが、既に登録済みのコードである場合は、該当するレコードを表示して未登録のコードの場合は、新規入力として取り扱う方法を教えてください。 また、登録ボタンによってのみテーブルへ書きこまないようにするにはどうしたら良いのでしょうか? 以上、よろしくお願いします。
回答: コード入力欄に入力したときにどのように動作するかで変わってきます。考えられるのは、 1.コード入力欄に入力したコードをリアルタイムに検索する 2.コード入力後、ボタンを押したり、次の入力欄に移ったりしたときに検索する。 ということです。 検索自体は、SQLで書けば簡単にできます。 クエリーでいったん直値などで作成後、SQLの表示を使って SQL文を表示してそれをコピーすれば作成できます。このとき、直値を指定したところを変数に置き換えます。 すでにあったものの場合はフィルタを使い、新規レコードの場合は、プロパティを変更するようにします。 > また、登録ボタンによってのみテーブルへ書きこまないようにするにはどうしたら良いのでしょうか? この意味がちょっと分かりづらいのですが、「書き込むようにする」ということでよろしいでしょうか?また、変更したときでも破棄してもいいのでしょうか? そのときは、Form_BeforeUpdateで、Cancelして Undoすればよいでしょう。 以上のキーワードでヘルプを検索してみてください。