2017-01-04 7 views
0

私は作成したフォームに2つのリストボックスを持っています。リストボックスの1つにサプライヤ名(lst_SupplierName)の束があります。サプライヤ名を選択すると、そのサプライヤの下にあるすべての部品番号が別のリストボックス(lst_PartNumber)に自動入力されます。リストボックスの選択項目をクエリ(MS Access)に結び付けるにはどうすればよいですか?

私はそれをさらに進めたいと思います。したがって、部品番号リストボックスにデータが入力されました。部品番号を選択し、その部品番号に基づいて、その部品番号に関連付けられたすべての必須属性を含むテーブルを含むクエリを作成することができます。

答えて

1

2リストは、最初にサプライヤテーブルをクエリするもの、2番目は、サプライヤのためにのみパーツをクエリするために、最初のリストの値を使用するパーツテーブルを照会するものです。ここに私が作成したサンプルのテーブルされます。

enter image description here enter image description here

とフォーム:最初のリスト行ソースは

enter image description here

されています:

SELECT [tblSuplier].[SupID], [tblSuplier].[SupName] FROM tblSuplier ORDER BY [SupName]; 

2番目のリスト行ソースは次のとおりです。

あなたが別の移入に更新イベントの後に使用することができ、今

Private Sub lstSup_AfterUpdate() 

    lstPart.Requery 

End Sub 

SELECT tblPart.PartID, tblPart.SupID, tblPart.PartName, tblPart.PartDescr FROM tblPart WHERE (((tblPart.SupID)=[Forms]![frmMain]![lstSup])); 
は、あなたが最初のリストで何かを選択すると、あなたが最初のリストに「更新後」イベントを追加する必要があり、2番目のリストの更新を作成するにはtxtDescription = lstPart.column(2 = 3)のようにフィールドに値を置くだけで、パーツからのフォーム上のフィールドも同様に表示されます。

ご不明な点がありましたら、お知らせください。

+0

ご連絡ありがとうございます。行ソースに複数のステートメントを追加する方法はありますか?私はすでに両方のリストで使用されている行ソースを持っているので、最初のリストからサプライヤ名を選択すると、部品番号が入力されます – Motorhead1308

+0

サプライヤ名:SELECT dbo_tblOwners.OwnersID、dbo_tblOwners.SupplierName FROM dbo_tblOwners;パーツ番号:SELECT dbo_tblBufferPWBoeing.BufferID、dbo_tblBufferPWBoeing.PartNumber FROM dbo_tblBufferPWBoeing; – Motorhead1308

+0

変更を表示するために、行ソースをフライで置き換え、その後にリスト再クエリーを置き換えることができます。ユニオンクエリを使用して、2つ以上の異なるテーブル/クエリからデータを取得できます。 – Velid

関連する問題