• ベストアンサー

アクセスでの、フォームとテーブルの連動の方法を教えてください

初歩の初歩だと思うのですが、教えてください。 アクセスで、テーブルのフィールドと全く同じ内容でフォームを作りました。(受講生情報の管理) その中で「性別番号」と「性別」があり、(「性別番号」と「性別」は、別にテーブルを作っています)フォーム上では「性別番号」に番号(男なら1、女なら2)を入力すると「性別」に自動で値が入るように設定できたのですが、テーブルに反映されません。(フォームの「性別」のプロパティのコントロールソースに”DLOOKUP~”を入力しました) テーブル上にも同じように反映させるには、どうすればよいのでしょうか。 同様の質問と思われるものを参考にいろいろとやってみたのですが、どうもうまくいかなくって・・・ よろしくお願いします。

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

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

「性別マスタ」(性別番号、性別) というテーブルがあり、他のテーブルでこのテーブルを参照し性別を入力するときには 他のテーブルに性別フィールドを設けてはいけません 性別番号だけを設け、リレーションシップを設定します つまり >テーブルに反映されません。 こんなことをする必要がないのです もっと言えばしてはいけないのです >(フォームの「性別」のプロパティのコントロールソースに”DLOOKUP~”を入力しました) これも駄目です フォームで入力時、性別番号を入力したときに性別を確認のために表示したければ 2つのテーブルから作ったクエリをフォームのソースにします それより、他のテーブルに性別番号を入力するときに 番号で作業するのではなくよりわかりやすい性別で作業できる方法が 標準で用意されていますよ 他のテーブルをデザインビューで開き、性別番号のデータ型で ルックアップウィザードを選び、表示するテーブルに性別マスタを選び 連結するフィールドに性別番号、ひょじするフィールドに性別を選びます

mit-abc
質問者

お礼

ありがとうございました。 もう一度、テーブルの作り方など、基本からもう一度勉強してみます。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

フォームの性別が別名のテキストボックス[性別1](コントロールソースにDlookupを使用)なら 詳細の更新後イベントで [性別] = [性別1] で更新する。 フォームの性別がテーブルのフィールド参照なら 性別番号の変更後イベントで [性別] = Dlookup("性別","テーブル名","性別コード=" & 性別コード) で更新する。 フォームの性別番号がコンボボックス(性別番号,性別を表示)なら 性別番号の変更後イベントで [性別] = コンボボックス名.Column(1) で更新する。 コンボボックスでの詳細は下記を参照 http://support.microsoft.com/kb/879798/ja

mit-abc
質問者

お礼

ありがとうございます。 やってみます!

関連するQ&A