- 締切済み
アクセスのフォームに簡単入力の仕方(その2)
以前「フォームにテキストボックスを2個配置しました。1個にコードを打ち込むと別のテキストボックスにそれに該当する項目を表示させたいのですがどうすればいいのでしょうか?入力したデータを保存するテーブルが1つ、コードと項目を保持するテーブルが1つ、それぞれ用意しています。」と質問したところ、コントロールソースにDLookupを入れるようにご教示いただきましたが、テーブルにデータを反映させるには、どうすればよいのでしょうか?いつも申し訳ありませんがご教示願います(涙)
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- taka451213
- ベストアンサー率47% (436/922)
理解力不足ですみません・・・。 >>入力したデータを保存するテーブルが1つ、 >>コードと項目を保持するテーブルが1つ、 >>それぞれ用意しています。 ですよね? >>フォームの参照元であるテーブルにデータが反映されずに 参照元を変更するのですか? フォームにコードを入力 ↓ 参照元より、該当の項目を拾ってきて表示 ↓ 何かボタンを押す??? ↓ フォームの内容が保存用テーブルに反映される ではないのですか?
- asuka546
- ベストアンサー率21% (21/99)
#2です。 テーブルで参照できると言うことは参照元のテーブルはあるんですよね。 その主キーはコードにしてあるのでしょうか? それならそれともうひとつ、保存用テーブルにはコードとその他に付随するデータを入れます。ここの主キーもまた別に作ってください。コードに付随するデータは入れなくて良いです。 んで、メニューの「ツール」から「リレーショナルシップ」を出し、そのふたつのテーブルを表示させてください。参照元のコードを保存用のコードと繋げます。(適当なところでダブルクリックすればダイアログボックスがでるはず) つなげ方は参照元を1とした1対多にしてください。 それでクエリを新たに作成します。 保存用テーブルをもとにしてコードの隣に参照もとのコードに付随している「項目」を持ってきます。 それでコードに合わせて項目を表示させることができるのではないかと。(試してないのでいまいち不安ですが) 基本的にテーブルはデータを蓄積するだけです、重複するデータなどはクエリで作成するのが基本になります。 フォームはこのクリエを元に作ってください。 DLOOKUP関数は参照するだけです。
お礼
ご返信に感謝します。早速試してみます。ありがとうございます。
- asuka546
- ベストアンサー率21% (21/99)
フォームで参照したデータをテーブルに保存したいということですか? クエリで保存ならすぐに解決だと思うですが、クエリじゃいけないんですか?
お礼
ご返信に感謝します。当方初心者なもので、『クエリで保存ならすぐに解決』というところの意味が、申し訳ないのですが理解できないでおります。更なるお知恵を拝借できれば幸いです。
- taka451213
- ベストアンサー率47% (436/922)
保存するアクション(動作)は? ボタンか何か押すのでしょうか?
お礼
ご返信に感謝します。フォームのテキストボックスのプロパティのコントロールソースにDLookupの関数をそのままいれると、フォームの参照元であるテーブルにデータが反映されずに、フォーム上で変換されるだけ、という意味です。言葉足らずで申し訳ありません。
お礼
返信に感謝します。いろいろ工夫の仕方があるようですね。試すことにします。ありがとうございました。