• 締切済み

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

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

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

#1のmshr1962です。 コンボボックス1つ目を作成、都道府県マスタを選択 「都道府県ID」をキーにして「都道府県」を表示 名前を「都道府県」に変更 コンボボックス2つ目を作成、市町村マスタを選択 「市町村ID」をキーにして「市町村」を表示 名前を「市町村」に変更 「都道府県」コンボボックスの更新後イベントを [イベント プロシージャ]にして[・・・]をクリック Private Sub 都道府県_AfterUpdate() Me.市町村.RowSource = "SELECT 市町村ID,市町村 FROM" & _ " 市町村マスタ WHERE 都道府県ID = " & Me.都道府県 & _ " ORDER BY 市町村ID" Me.市町村 = Me.市町村.ItemData(0) End Sub を貼り付けてください。 微調整が必要かもしれませんのでだめな場合は御一報ください。

shinsyu
質問者

お礼

その後、いろいろと調べた結果、MSの答えてねっとから解決の糸口を掴み、なんとかなりそうな状況になってきました。親切に回答して頂き大変感謝しております。ありがとうございました。

shinsyu
質問者

補足

お答え頂き、大変感謝しております。 作成して頂いたコードを試したところ、「実行時エラー'-2147352567(80020009)':このフィールドに入力した値が不正です」というエラーメッセージが表示され、デバックすると「Me.市町村 = Me.市町村.ItemData(0)」が黄色く塗りつぶされており、これを削除すると、問題なく動きました。これは何を意味しているのでしょうか? 次に、フォーム上の話ですが、クエリーを使って実施した時と同じように、最後に抽出作業をした市町村しか表示されません。(北海道で札幌を選択したら、都道府県に北海道を選択したものだけ市町村が表示され、他の都道府県に付随した市町村は空欄(のように)になっている)元のテーブルにはデータが入っているのですが・・・。最初に回答して頂いた(2)の方法を試しましたが、結果は同じです。 わがままなお願いばかりで申訳ありません。どうぞよろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

(1)下記の様にすればいいのでは? 初めに都道府県を選択するコンボボックスを作成 次に該当する都道府県の市町村を選択するコンボボックスの作成 詳細は下記URLをご覧ください。【同じフォームにある 2 つのコンボ ボックスの同期をとる方法】 http://support.microsoft.com/default.aspx?scid=kb;ja;289670&Product=accJPN 分からなければ追加の質問をしてください。 (2)入力は行先テーブルなのですから 登録フォームは行先テーブルを元に作ってください。 もし先に登録者を確定したい場合は 登録テーブルを元にしたフォームと 行先テーブルを元にしたフォームを作り 前者から後者を呼び出す方式か? 後者をサブフォームとして利用する形になります。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;289670&Product=accJPN
shinsyu
質問者

補足

アドバイスありがとうございました。 (1)で教えて頂いたURLを参考にいろいろやってみたのですが、「コード」に何が書かれているのかがわかりません。都道府県マスタには都道府県IDと都道府県というフィールド、市町村マスタには、市町村ID、都道府県ID、市町村というフィールドを作成しております。これを使ってURLのようなコードを作成してもらえないでしょうか? あまりにずうずうしいお願いで申し訳ないです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

  • 困ってます!Accessフォームのコンボボックス

    初心者です。とーっても困っています・・・。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 が、しかし、選んだデータがテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、テーブルを見ると、他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 誰か助けてください!!よろしくお願いします。

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

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

  • Accessのフォームについて

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

  • Accessのフォーム

    Access2003を使用しています。 テーブルまたはクエリを元に作成したフォームにはテーブル・クエリに入力されているデータが表示されますよね? それらのデータをフォームから変更出来ないようにする方法はありますか? データ自体を非表示(入力用フォーム)にするのではなく、既存のデータは表示されるけど変更は出来ないという状態にしたいです。 ちなみに新規入力は行えるようにしておきたいです。 よろしくお願いします。

  • Access2000でリンクしたされたフォームについて

    管理IDを主キー(重複あり)で、フォームウィザードでリンクされたファームを作成しました。トグルボタンが自動作成され、そしてトグルボタンを押すと新しいフォームが開き、管理IDでフィルタされていると思います。そこで、新しいデータを入力すると、管理IDが0で登録されてしまいます。新しいデータは管理IDでフィルタした値で登録したいのですが、良い方法が見つからないです。 管理IDはて入力ではなく、自動的に入力する形をとりたいです。 <やりたい事> 1.管理ID=100でフィルタされているフォーム 2.トグルボタンで、リンクされたフォームを開く   (管理ID=100でフィルタさてたフォームが開く) 3.新しく開いたフォーム(2)にデータを記入 4.管理ID=100で登録する。(現状0になってしまします) 管理IDはフォームから見る事はできない状態の登録を行いたいです。良い方法はないでしょうか?

  • Access2003 検索用フォームでの検索がうまくいかない

    Access2003 検索用フォームでの検索がうまくいかない とある、テーブルを参照するフォームを作成。 そしてテキストbokを設けて、各項目毎にキーワードを指定してデータを抽出できるようにしたいのですが、 どうもうまくいきません。 検索は出来ているのですが、全部ひっかからないのです。 例えば ID という項目を検索するbox に"1"を入力して ID=1の全データを抽出しようとすると、一部検索にかかってこないものがある という具合です。 テーブルに入力されている数字や文字が本当に一致しているかどうかも調べましたが確かに一致しています。 実際、テーブルを開いて ctr+f で検索すると全てひっかかります。 何が原因なのでしょうか??? 私の作った手順は以下のとおりです。 テーブル作成(エクセルからインポート) ※空白の欄もあります フォーム新規作成でフォーム作成 フォーム上にテキストbox作成 クエリ作成 (Like "*" & [Forms]![フォーム名]![テキストbox名] & "*" ) マクロ作成⇒フィルタ実行/上の手順で作ったクエリを登録 マクロをフォーム上へドロップ およそこのような手順です。

  • Access、検索用フォームでのあいまいな検索

    現在、Accessでデータベース作成をしています。 テーブル:  ・テーブルA          ・テーブルB          (A・B間にリレーションシップ設定) クエリ    ・検索クエリ(テーブルA・テーブルBを元に作成) フォーム   ・検索用フォーム(デザインビューでフォーム作成より)          ・検索結果フォーム(検索クエリを元に作成) また、以下のような設定を入力しました。 「検索クエリ」の抽出欄  Like "*" & [Forms]![検索用フォーム]![検索したい名前] & "*"・・(1)  ※検索したい項目、すべての抽出欄に設定済 「検索用フォーム」  検索実行ボタンを作成し、マクロを設定  ・フォームを開く→「検索結果フォーム」  ・フィルタ→「検索クエリ」 上記の設定により、検索用フォームに検索文字を入力することで、その結果を「検索結果フォーム」に反映することができました。 ただ、テーブルAが元になっている項目の抽出欄のみに(1)を入力すると、うまくいくのですが、テーブルBが元になっている項目欄にも (1)を入力しようとすると、検索用フォームからうまく検索することができなくなります。 2つのテーブルを元にしたクエリからは、検索用フォームをつかった複数のOR検索はできないのでしょうか?? ご存知の方、ぜひ教えてください。 よろしくお願いいたします。

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

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

  • access95でこんなフォームを作成したい!!

    access95でフォームを作成する場合に、元になるテーブルを複数指定する事はできますか? フォームはひとつで、入力するフィールドによってそれぞれ別のテーブルにデータが蓄積されるようにしたいんです。 どなたか分かる方、助けてください。

このQ&Aのポイント
  • 新築戸建てを購入し、太陽光パネルの訪問営業を受けました。営業マンや会社の評判は良く、信頼感もありますが、単純に投資商品として考えると利率が低く、別の投資先の方が良いかもしれません。
  • 設置に200万かかり、30年後には300万分の電気が作れる計算です。投資商品として考えると利率は1.5%程度で、S&P500の投資信託の方が利益が出る可能性があります。
  • 停電時にも電気が使えるなどのメリットはあるものの、投資としての利益を考えると太陽光パネルよりも別の投資先が良いかもしれません。決めるタイミングも1月中とのことです。正しい判断をするためにも意見が欲しいと思います。
回答を見る

専門家に質問してみよう