次の方法で共有

Access2013 コンボボックスの絞り込み方法を教えてください

Anonymous
2015-01-15T02:07:40+00:00

自動車修理会社で請求システムをAccessで作成しています。

顧客情報テーブル

車両情報テーブル

請求テーブル

請求明細テーブル

があります。

請求書入力フォームには下記の項目があります。

顧客名(コンボボックスで顧客情報テーブルのデータを引き出す)

車両番号(コンボボックスで車両情報テーブルのデータを引き出す)

顧客を入力すると、その顧客が所有する車両だけが車両番号のコンボボックスに表示されるようにしたいのですが、

リレーションシップやコンボボックスのプロパティシートでどのように設定すれば良いか教えていただきたいです。

また、車両番号コンボボックスでテキストを入力するときに

「千葉500あ1111」というナンバーであれば、頭の「千葉」の部分から入力しないと候補を選択できないのですが、最後の「1111」の部分を入力して候補を選択する方法があれば教えていただきたいと思います。

宜しくお願いします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2015-01-30T10:01:09+00:00

森様

ご返信ありがとうございます。

ご指示通りに変更いたしますと、顧客IDが表示されるようになり、車両番号に関しては依然真っ白なままでした。

そして、列数・列幅の意味すら考えたことがなかったのですが初めていろいろといじってみた結果、

まず、顧客IDを選択するけれど実際には顧客名を表示させる仕組みにしたいというのがあり、

顧客情報テーブルの1列目が顧客ID、2列目が顧客名となっておりますため、「コンボ顧客名」の列数は2列でなければなりません。1列目を0cm、2列目を3cmにすることによって顧客名が表示されるということです。

そして「コンボ顧客名」の値集合ソースは「顧客情報」です。

これも「顧客IDを選択するけれど実際には顧客名を表示させる仕組み」のためです。

なぜこうしているのかと言うと、単純に買った本に沿って「顧客IDを選択するけれど実際には顧客名を表示させる仕組み」にしただけですので、

「コンボ顧客情報」は単純に顧客情報テーブルから顧客名を表示するだけの設定に変えたら、できました!!!!!

長々とお付き合いいただいて本当にありがとうございました。

初めてAccessを使うのに複雑なものを作っているのでまた別件で質問をすることもあるかと思いますが宜しくお願いいたします。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2015-01-23T03:24:39+00:00

sk.exe さん、いつもコメントをありがとうございます。

tomonole さん、こんにちは。

マイクロソフト コミュニティをご利用いただき、ありがとうございます。

手元でも以下のような簡単なテーブルを作って、コンボボックスの絞り込みを行ってみたので、よろしければ参考にしてみてくださいね。

※今回は、リレーションシップを設定しませんでした。

 

上記のテーブルを作成し、以下のようにコンボボックスで絞り込みができるようにしました。

 

 

 

それぞれのコンボボックスのプロパティシートは以下のようになっています。

「顧客名」のコンボボックスです、「コンボ12」という名前で設定しています。

 

 

「更新後処理」では、以下のような再クエリの処理を行っています。

 

車両情報のコンボボックスです。

「コンボ18」という名前に設定しています。

 

 

値集合ソースは、以下のようになっています。 

SELECT 車両情報.車両番号 FROM 車両情報 WHERE (((車両情報.顧客名)=[Forms]![顧客情報]![コンボ12]));

 ご不明点がありましたら、追加で投稿してみてください。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2015-01-23T07:36:13+00:00

    マイクロソフトサポート

    森様

    ご丁寧にお返事いただきましてありがとうございます。

    さっそくやってみたのですが、

    コンボボックスには顧客名も車両番号も表示されなくなってしまいました。

    プルダウンクリックすると真っ白です。

    下記のようなリレーションシップになっているのですがその影響でしょうか。

    顧客情報テーブルと車両情報テーブルは顧客番号で繋がっています。

    「コンボ顧客名」のプロパティ

    イベントプロシージャの内容は下記です。

    Private Sub コンボ顧客名_AfterUpdate()

    Me!コンボ車両番号.Requery

    End Sub

    「コンボ車両番号」のプロパティ

    値集合ソースは

    SELECT 車両情報.登録番号 FROM 車両情報 WHERE (((車両情報.顧客番号)=[Forms]![請求入力フォーム]![顧客名])); 

    です。

    請求入力フォームで、

    顧客情報テーブルから顧客ID(顧客IDの情報を引っ張ってきて表示されるのは顧客名)、車両情報テーブルから車両番号とメーカー、製造番号を引っ張ってくるようにしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2015-01-19T00:42:09+00:00

    sk.exe様

    ご返答ありがとうございます。

    遅くなってしまいましたがお返事いたします。

    ・[顧客情報テーブル]の主キーはどのフィールドか。

    顧客番号フィールドです。

    ・[車両情報テーブル]の主キーはどのフィールドか。

    車両IDフィールドです。

    ・[車両情報テーブル]において、[顧客情報テーブル]と結合するための

     外部キーとなるフィールドは定義されているのか。

     定義されているならば、それはどのフィールドか。

    顧客名フィールドです。

    以上の定義内容次第。

    > また、車両番号コンボボックスでテキストを入力するときに

    > 「千葉500あ1111」というナンバーであれば、

    > 頭の「千葉」の部分から入力しないと候補を選択できないのですが、

    >最後の「1111」の部分を入力して候補を選択する方法があれば

    > 教えていただきたいと思います。

    それはコンボボックスの動作仕様上無理かと。

    そうなのですね。ありがとうございます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2015-01-15T05:48:11+00:00

    > 顧客名(コンボボックスで顧客情報テーブルのデータを引き出す)

    > 車両番号(コンボボックスで車両情報テーブルのデータを引き出す)

    > 顧客を入力すると、その顧客が所有する車両だけが

    > 車両番号のコンボボックスに表示されるようにしたい

    ・[顧客情報テーブル]の主キーはどのフィールドか。

    ・[車両情報テーブル]の主キーはどのフィールドか。

    ・[車両情報テーブル]において、[顧客情報テーブル]と結合するための

     外部キーとなるフィールドは定義されているのか。

     定義されているならば、それはどのフィールドか。

    以上の定義内容次第。

    > また、車両番号コンボボックスでテキストを入力するときに

    > 「千葉500あ1111」というナンバーであれば、

    > 頭の「千葉」の部分から入力しないと候補を選択できないのですが、

    > 最後の「1111」の部分を入力して候補を選択**する方法があれば

    > 教えていただきたいと思います。

    それはコンボボックスの動作仕様上無理かと。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません