• ベストアンサー

Accessについて。フォームでデータ入力

超基本的な質問ですみません。 仮に下記のような構造のデータベースがあったとします。 テーブル 都道府県名 フィールド 都道府県 テーブル 住所    フィールド 都道府県 市町村 テーブル 顧客    フィールド 都道府県 市町村 顧客にデータを入れていくために"顧客情報入力"というフォームを作ります。 "都道府県"をコンボボックスで選択しました。 市町村のコンボボックスに上の"都道府県"で選択した都道府県の"市町村"だけを表示させるためにはどうしたら良いのでしょうか。 クエリについてはある程度理解していたつもりなのですが、頭が真っ白になってしまいました。

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

  • ベストアンサー
  • nnfuji
  • ベストアンサー率28% (200/701)
回答No.1

まず、都道府県名や市町村名はコードを付けて管理しましょう。 【都道府県】テーブル 都道府県コード,数値型 都道府県名,テキスト型 【市町村名】テーブル 都道府県コード,数値型 市町村コード,数値型 市町村名,テキスト型 【顧客】テーブル 都道府県コード,数値型 市町村コード,数値型 顧客コード,数値型 顧客名,テキスト型 というテーブルを作り、顧客情報入力フォームには 都道府県のコンボボックス データソース,「都道府県」テーブル 市町村のコンボボックス データソース,市町村クエリー 次に、市町村クエリーを作成します。 SELECT 市町村コード,市町村名 FROM 市町村名 WHERE 都道府県コード=Forms!顧客情報入力!都道府県 以上のオブジェクトを作成すれば選択した都道府県の市町村しか表示されないはずです。 手元にAccessが無いので、細かい部分でエラーがでるかもしれませんが、ご自分で修正していってください。 また、都道府県や市町村名は自治省コードという体系で定義されています。ネットで探せばExcel形式のファイルが見つかるかもしれませんので、頑張って探してみてください。

camille_ka
質問者

お礼

丁寧なご回答ありがとうございました。