- 締切済み
access(アクセス):検索して、該当すればメッセージを表示したい
よろしくお願いいたします。 フォームのテキストボックスに数字を入力したときに この数字がテーブルのリストに存在する数字の場合は、 「該当有」とメッセージボックスで表示したく思っております。 例 テーブル フォーム メッセージボックス 1 2 該当有と表示 2 9 なにも表示しない 3 1,9 該当有と表示 4 5 メッセージボックスの表示の仕方はわかるのですが、 関数で検索をどのようにしたらよいかわかりません。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- CHRONOS_0
- ベストアンサー率54% (457/838)
>DCount("*",[テーブルa],[(テーブルaの)フィールドb] In (" & Forms!フォーム名!テキストボックス名 & ")) なにこれ? 私の回答は DCount("*","テーブル名1","フィールド名 in (" & Forms!フォーム名!テキストボックス名 & ")" ですよ Dcount関数の第2項はテーブル名 第3項は抽出条件です どちらも文字列で与えます 分からない関数はヘルプで調べましょう 回答以上の情報が書かれています
- CHRONOS_0
- ベストアンサー率54% (457/838)
テキストボックスに入力した数字のレコードがテーブルにあるかどうかは DCount("*","テーブル名1","フィールド名 in (" & Forms!フォーム名!テキストボックス名 & ")")>0 で調べられます
DCount関数は最適解じゃありません。 単にINの説明のためです。
tab1: ID_数値 _1____1 _2____2 _3____3 _4____4 _5____5 [イミディエイト] ? DCount("*", "tab1", "数値 IN (1,9)") 1 集合: IN WHERE節のキーワード INに値を列挙することで、 その値を持つ列を抽出することができます。 <列名> [NOT] IN (<値1>,<値2>,...<値n>,) キーワード IN を使えば良いと思います。
お礼
返答が遅くなり、申し訳ございませんでした。このたびは、ありがとうございました。結局、教えていただいたにもかかわらず、まだうまくいっていないのですが、ありがとうございました。 マクロで 条件 DCount("*",[テーブルa],[(テーブルaの)フィールドb] In (" & Forms!フォーム名!テキストボックス名 & "))>0 アクション メッセージボックス としたのですが、実行すると 「このオブジェクトには、オートメーションオブジェクト’テーブルa’は含まれません。」と表示されます。 もしよろしければ、解決方法を教えてください。 よろしくお願いいたします。