• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2007で。 )

Access2007でフォーム内のテキストボックスとテーブル内のデータを参照する方法

このQ&Aのポイント
  • Access2007でフォーム内のテキストボックスに入力した文字列と、テーブル内のデータを参照する方法について教えてください。
  • テーブルAとフォームBを作成し、テーブルAの答えフィールド内のデータをフォームB内の解答テキストボックスと比較します。
  • 同じデータがあった場合はフォームCを開き、データがなかった場合はフォームDを開くようにしたいです。どうすれば実現できますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

できます。  クエリを使って 検索します。 SELECT * FROM テーブルA、WHERE テーブルA.答え = フォームBの回答txt です。 通常は文字列ですべて完全一致とはいかない場合が多いので = ではなく LIKE を使ったクエリになると思います。 問題の解答ですが ラジオボタンで 4択にするほうが 検索も簡単です。 文字列での検索は 不一致になる可能性もあります。 VBA で検索を行う場合は ADOもしくはDAO でのクエリ検索、Dlookup での検索のいずれかを行うことになります。 ■ ADOとDAOを使用したクエリの抽出条件式で、* と % の動きの違い http://www.nurs.or.jp/~ppoy/access/access/acM075.html ■DLookup 関数 : http://office.microsoft.com/ja-jp/access/HA012288251041.aspx フォームを開く方法 Dim varX As Variant varX = DLookup("[得意先名]", "得意先", "[得意先コード] = 1") IF varX <> empty then DoCmd.OpenForm "フォームC" else DoCmd.OpenForm "フォームD" End If 上記のコードをマクロで記述することもできます。  Access の マクロ を開き 同じ処理ができます。  

uvy
質問者

補足

クエリ、VBA両方の丁寧なご説明ありがとうございます! フォームの部分のテキストボックスには直接文字列を入力して、その入力した文字列をテーブルと照合したいのですがそれでもせきますか?

その他の回答 (2)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.3

#1 です。 すみません。 1から全部 は教えられません。 ネットで調べて 基本的なことはマスターしてからのほうがいいです。 答えは #1,#2 に書いている通りです。 全部、教えてくださいは質問ではありません。 #1に載せている サイトほか下記などを よく読んでください。 ■ Access実践入門/マイクロソフトアクセス、単票入力フォーム http://www.msactry.com/down701/tan01.htm やり方がわかってきたら質問したほうがいいです。

uvy
質問者

お礼

すいません。失礼しました。 そんなつもりではなかったのですが。 ご協力ありがとうございました。

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

#1 です。 >>フォームの部分のテキストボックスには直接文字列を入力して、その入力した文字列をテーブルと照合したいのですがそれでもせきますか? #1 で答えていますが・・・ マクロおよびVBA などを使う以外に方法はないです。 操作を行うには ボタンを配置して そのボタンが押された場合にマクロもしくはVBAを 実行します。 意図していることと意味が違いますか?

uvy
質問者

補足

いえ、初心者なものでよくまだわからなくて・・・すいません。 この動作をVBAで一気にフォームを開くことまでをしたいのですが、教えていただいた構文を入力してもできなくて・・・ どんなVBAにしたらいいのでしょう?

関連するQ&A