dポイントプレゼントキャンペーン実施中!

質問です。

現在VBAでリストボックスの値集合ソースをテーブル【T_案件リスト】から取得しています。
しかし、テーブル【T_案件リスト】で顧客IDは取得出来るのですが顧客の名前が別のテーブル【T_顧客一覧】で管理している為取得できません。
クエリを利用すれば出来るのですが、他の事に影響ある為VBAでやりたいです。

現在のコードはこのようになっております。

'リストボックスノ値集合ソース更新
Me![Rst案件] = Null
Me![Rst案件].RowSource = "SELECT [T_案件リスト].[案件ID], [T_案件リスト].[顧客ID], [T_案件リスト].[件名], [T_案件リスト].[状況], [T_案件リスト].[優先度], [T_案件リスト].[希望納期], [T_案件リスト].[入金], [T_案件リスト].[見積書確認], [T_案件リスト].[レイアウト確認], [T_案件リスト].[コメント] " & _
"FROM T_案件リスト " & _
strWhere & " " & _
"ORDER BY [T_案件リスト].[状況]"


このコードはネットで調べてコピペし書き換えただけなので仕組みは正直よく理解できておりません。
これにテーブル【T_顧客一覧】のフィールド【名前】を加えたいです。

わかりやすい方法で教えて頂けたら幸いです。
詳しい方よろしくお願いします。

A 回答 (1件)

値集合ソースで指定しているのは「SQL」と呼ばれるものです。


その文字列により、データを取得しています。
そのSQLでは、単一テーブルからデータを取得するような記述になっています。
あなたがやりたいのは、複数テーブルから取得、なので、この場合はテーブルを結合する必要があります。
(ちなみに、値集合ソースの使い方は2つあり、今回のようにSQLを直接貼り付けるのと、そのSQLをクエリとして保存し、クエリ名を設定する方法とあります。)
今、スマホしか触れないので、参考サイトを載せます。
http://www.feedsoft.net/access/guide-query/guide …
分かりやすいのが、これくらいでした。

顧客IDを使って、顧客一覧と内部結合Inner Joinすれば出来るはず。
SQLのキモなので、腰を据えて。
    • good
    • 0
この回答へのお礼

くんこば様

VBAではなくSQLだったのですね。勉強になりました!
丁寧な回答をありがとうございます。
結合クエリを作成し最初のSQL文のFromをそのクエリに指定したら出来ました!
もう少しSQLについて勉強したいと思います!困っていたので大変助かりました!
本当に迅速な回答ありがとうございましたm(_ _)m

お礼日時:2016/12/16 05:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す