- ベストアンサー
Access2007でフォーム内のテキストボックスとテーブル内のデータを参照する方法
- Access2007でフォーム内のテキストボックスに入力した文字列と、テーブル内のデータを参照する方法について教えてください。
- テーブルAとフォームBを作成し、テーブルAの答えフィールド内のデータをフォームB内の解答テキストボックスと比較します。
- 同じデータがあった場合はフォームCを開き、データがなかった場合はフォームDを開くようにしたいです。どうすれば実現できますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
できます。 クエリを使って 検索します。 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 の マクロ を開き 同じ処理ができます。
その他の回答 (2)
- NOBNNN
- ベストアンサー率50% (93/186)
#1 です。 すみません。 1から全部 は教えられません。 ネットで調べて 基本的なことはマスターしてからのほうがいいです。 答えは #1,#2 に書いている通りです。 全部、教えてくださいは質問ではありません。 #1に載せている サイトほか下記などを よく読んでください。 ■ Access実践入門/マイクロソフトアクセス、単票入力フォーム http://www.msactry.com/down701/tan01.htm やり方がわかってきたら質問したほうがいいです。
お礼
すいません。失礼しました。 そんなつもりではなかったのですが。 ご協力ありがとうございました。
- NOBNNN
- ベストアンサー率50% (93/186)
#1 です。 >>フォームの部分のテキストボックスには直接文字列を入力して、その入力した文字列をテーブルと照合したいのですがそれでもせきますか? #1 で答えていますが・・・ マクロおよびVBA などを使う以外に方法はないです。 操作を行うには ボタンを配置して そのボタンが押された場合にマクロもしくはVBAを 実行します。 意図していることと意味が違いますか?
補足
いえ、初心者なものでよくまだわからなくて・・・すいません。 この動作をVBAで一気にフォームを開くことまでをしたいのですが、教えていただいた構文を入力してもできなくて・・・ どんなVBAにしたらいいのでしょう?
補足
クエリ、VBA両方の丁寧なご説明ありがとうございます! フォームの部分のテキストボックスには直接文字列を入力して、その入力した文字列をテーブルと照合したいのですがそれでもせきますか?