• ベストアンサー
  • 暇なときにでも

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

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

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数220
  • ありがとう数1

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

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • コンボボックスを使った入力の改善

    コンボボックスを使った入力を全てのデータベースで利用しています。しかし、各コンボボックスがそれぞれ独立「単体動作」しているので、コンボボックスの初段目「最初」はレコード数が少ないのですが、2段目3段目になると選択候補が累積表示されるので、候補の数も多くなり使いづらさを感じるデータベースも増えました。この状況を改善したいと思っていますので、宜しくお願いします。尚、データベースで設定しているコンボボックス全てに言えることでもありますので、以下のケースを紹介させていただきますので、アドバイスをお願いしたいと思います。 [現状でのやり方] コンボボックス参照オブジェクトは以下の構成にて、コンボボックスは独立していて連動していません。なお、参照データの追加作業は別途作成したフォームを、データ入力フォームに配したコマンドボタンで開いて行っています。 [コンボボックス関連オブジェクト(例)] コンボボックス名:都道府県(値集合ソースで都道府県のみ選択) テーブル名:都道府県テーブル フィールド名:ID、都道府県 フォーム名(参照データ追加):都道府県追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 コンボボックス名:市町村(値集合ソースで市町村のみ選択) テーブル名:市町村 フィールド名:ID、市町村 フォーム名(参照データ追加):市町村追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 [改善させたいこと] コンボボックス「都道府県」で東京都を選択したとき、次のコンボボックス「市町村」では東京都の市町村だけが次の候補として表示させたいと思っています。又、現在は蓄積データの絞り込み検索で設定していますが、選択コンボボックスの次のコンボボックスを自動プルダウンさせ、候補も同時に表示させ入力できればと考えています。 以上ですが、宜しくお願いします。

  • ファイルメーカーでコンボボックスの絞込み

    Accessのデータベースはいくつか作ったことがありますがファイルメーカーは初心者です。 例えば「都道府県」「市町村」というフィールドがある全国地名テーブルがあるとします。 「都道府県」 「市町村」 大阪府     大阪市 大阪府     堺市 大阪府     吹田市 奈良県     奈良市 奈良県     生駒市 ・ ・ 別途「住所」テーブルのコンボボックスの中身をこのテーブルにした場合、 「都道府県」コンボボックスの「大阪府」を選択すると、「市町村」コンボボックスの中身が「大阪市」「堺市」「吹田市」といった大阪府内のみに絞り込むことはファイルメーカーで可能なのでしょうか。 Accessではクエリを使えば出来ますが、いまいちファイルメーカーでのやり方がわかりません。 上手く説明できなくてすみません・・

  • Accessのフォームについて

    以前の質問もイロイロと拝見しましたが、よくわからなかったので 質問させていただきます。 はっきりいってAccess初心者です。 テーブルをつくったことと入力程度しかしたことがありません。 ・・・が、フォームをつくらなくてはならなくなりました。 ずっと取り組んできたんですが、すでにだいぶ月日がたってしまって 会社の人たちから毎日のように進捗をきかれてかなりプレッシャーです。 お力を貸していただけたらと思います。 ●不明点 都道府県と市町村と年齢層と比率(料金の)が入っているデータがあります。 このデータは都道府県×市町村×年齢層のセット毎に比率が異なっていて 全部で6000件程度の組み合わせがあります。 たとえば・・・東京都×杉並区×50代→料金比率38%といった具合です。 これを(1)都道府県のテキストボックスをクリックしたときに都道府県の一覧が表示される (2)(1)で選んだ都道府県名によって市町村名のテキストボックスに市町村一覧が表示される (3)(2)までで選んだ都道府県と市町村によって年齢層のテキストボックスに年齢層の一覧が表示される (4)(3)までで選んだ都道府県×市町村×年齢層の組み合わせによって、 比率のテキストボックスにそれに応じた比率が選択される、というふうにしたいんです。 さらにこの比率に金額をかけて回数分で割って・・・というようなことをしていくのですが、とりあえず上記の部分の作成ができず、お手上げ状態になっています。お手数ですがどうすればよいか教えていただけないでしょうか? テーブルはこういう項目にしたほうがいいというようなものがあればそちらも教えていただけると大変助かります。

  • Access2000のフォームに関する悩み

    アクセス2000で以下のようなデーターベースの構築に悩んでいます。 『各人がいつどの街へ行ったかを記録するデータベース』です。 ・登録テーブル(登録ID、登録者、登録日) ・行先テーブル(行先ID、登録ID、都道府県、市町村、日時) というようなテーブルを作成し、登録テーブルと行先テーブルをリレーションシップで結びます。 登録テーブルを元にした登録フォームを作成し、行先テーブルを元に表形式の行先フォームを作成し、行先フォームを登録フォームのサブフォームとして組み込みます。 尚、都道府県と市町村の入力は各マスタテーブルを作成し、コンボボックスから選択させ、クエリを使って都道府県から市町村の絞込みを実施させます。 ここで、今回の悩みですが、以下の(1)(2)を至急解決しなければならないことです。 (1)データを入力していくと市町村の絞込みができない(表示されないとか前のデータが表示される) (2)テーブルにはデータが入力されているが、フォーム上では空欄になってしまう。 (1)は行先フォーム上では解決できております。 (2)については私の腕ではなすすべもなく途方に暮れている状態です。 どなたか、助けて下さい。よろしくお願いします。

  • Accsee2003 フォームのコンボボックスの同期について

    Access2003のフォームのコンボボックスで困っています。 フォームのコンボボックスで都道府県を選んだ次のコンボには該当都道府県の市町村を表示させたいのですが、うまくできません。 都道府県テーブルには都道府県のみ、市町村テーブルには市町村のみが入っていまして、都道府県IDでリレーションシップしてあります。 同じような質問がありまして何度かやってみましたが、エラーが出て実現できませんでした。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=233843 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1969695 ご教授いただければ幸いです。よろしくお願いいたします。

  • Accessフォーム

    Access初心者です。 Accessのフォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、 [市区町村]のコンボボックスには「東京都」の市区町村名が選択できるようにしました。 フォームでの入力はきちんと出来るのですが、新しいレコードに入力すると、 前のレコードに入力した項目が消えてしまいます。 (テーブル上には、入力した情報が残っています) 色々試してみましたが、どうしても出来ません。 いったいどうしたらよいのでしょうか。ほとほと困っています。 どうかご教示ください。お願いいたします。

  • フォームのプロパティを設定したい(Access2000)

    Access2000 XPです。 都道府県名が1レコードに1つずつ入っているテーブルと 各都道府県名のテーブルが47コあります。 新規でフォームを作成し(フォームのレコードソースはまだ未設定) コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。 Me.RecordSource=コンボボックス.text 単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。 どなたか分かる方、解決法をお願いします。。。

  • アクセスのフォームでデータ元をテーブルからクエリにかえたい

    上手く表現できるかどうかわからないのですが、頑張って書きます。少々長いです。 アクセスでフォームを使ってデータ入力しています。これは単純で、あるテーブルへのデータ入力をフォームを使ってやるだけのことです。このテーブルの中に「都道府県」というフィールドがあります。ある事情からこのフォームを使ってデータ入力(または修正)をするレコードは、「都道府県」のフィールドが「福岡県」のものだけでよくなりました。 そこで、「都道府県」に「福岡県」を持っているレコードだけを取り出すクエリを作ります。このクエリを元にして、同じフォームでデータ入力したいのです。入力項目は全く同じです。「福岡県」をもっているレコードだけが全く同じフォームで表示されるようにしたいのです。 もとのテーブル名を「全データ」とし、クエリを「福岡県抽出クエリ」と呼ぶとすると、どこかで「全データ」を「福岡県抽出クエリ」に書き換えればすべてのテキストボックスのデータ元が入れ替わってくれると思うのですが、それでいいのでしょうか。その場合、どうやったらいいのでしょう。 なぜ一からファームを作り直さないかというと、テキストボックスの大きさや配置を決めるのに膨大な労力を費やしていて、全部をやり直したくないからです。 どうかお願いします。ご指導ください。

  • Accessの入力フォームでプルダウンメニュー作成?

    って、できるのでしょうか。。。 たとえば、顧客情報の入力をする際に、 都道府県名等で入力間違いと負担を減らす為に、 普段よく見る、プルダウン形式での選択式にしたいのですが、 持っている本にはのっていないので、 困っています。 もし不可能なら、 なにか入力(間違い)軽減を実現する入力フォームを作成する方法をご教授くださいませ。 m(__;)m

  • Accessフォーム 大分類→小分類を選択したい

    Access初心者です。 ほかの類似の質問を検索して試してみたのですが、 どうしても同じようにできません。 もう1週間も同じところでつまづいています。 どなたか、初心者にもわかるように教えていただければ幸いです。 以下のようなテーブルがあるとします。 [都道府県] [市区町村] 東京都  新宿区 東京都  港区 東京都  渋谷区 神奈川県  横浜市 神奈川県  川崎市 神奈川県  藤沢市 埼玉県  さいたま市 埼玉県  熊谷市 埼玉県  三郷市 フォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、 [市区町村]のコンボボックスには「東京都」の市区町村名が 選択できるようにしたいのですが、 一番最初のところで行き詰っています。 コンボボックスウィザードにしたがって [都道府県]のコンボボックスを作成すると、 [東京都] [東京都] [東京都] [神奈川県] [神奈川県] [神奈川県] … というリストが出てきてしまいます。 過去の質問を検索し、プロパティの値集合ソースで、 SELECT[都道府県]…FROM[テーブル名]の後に、 GROUP BY[都道府県]と書き加えたのですが、 こうするとリストが出てこなくなります。 いったいどうしたらよいのでしょうか。 ほとほと困っています。 どうかご教示ください。お願いいたします。