• 締切済み

access(アクセス):検索して、該当すればメッセージを表示したい

よろしくお願いいたします。 フォームのテキストボックスに数字を入力したときに この数字がテーブルのリストに存在する数字の場合は、 「該当有」とメッセージボックスで表示したく思っております。 例 テーブル   フォーム    メッセージボックス  1       2       該当有と表示  2       9       なにも表示しない  3      1,9       該当有と表示  4  5 メッセージボックスの表示の仕方はわかるのですが、 関数で検索をどのようにしたらよいかわかりません。 よろしくお願いいたします。

みんなの回答

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.4

>DCount("*",[テーブルa],[(テーブルaの)フィールドb] In (" & Forms!フォーム名!テキストボックス名 & ")) なにこれ? 私の回答は DCount("*","テーブル名1","フィールド名 in (" & Forms!フォーム名!テキストボックス名 & ")" ですよ Dcount関数の第2項はテーブル名 第3項は抽出条件です どちらも文字列で与えます 分からない関数はヘルプで調べましょう 回答以上の情報が書かれています

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

テキストボックスに入力した数字のレコードがテーブルにあるかどうかは DCount("*","テーブル名1","フィールド名 in (" & Forms!フォーム名!テキストボックス名 & ")")>0 で調べられます

ayaya11
質問者

お礼

返答が遅くなり、申し訳ございませんでした。このたびは、ありがとうございました。結局、教えていただいたにもかかわらず、まだうまくいっていないのですが、ありがとうございました。 マクロで 条件 DCount("*",[テーブルa],[(テーブルaの)フィールドb] In (" & Forms!フォーム名!テキストボックス名 & "))>0 アクション メッセージボックス としたのですが、実行すると 「このオブジェクトには、オートメーションオブジェクト’テーブルa’は含まれません。」と表示されます。 もしよろしければ、解決方法を教えてください。 よろしくお願いいたします。

noname#140971
noname#140971
回答No.2

DCount関数は最適解じゃありません。 単にINの説明のためです。

noname#140971
noname#140971
回答No.1

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 を使えば良いと思います。