1

ここに私は再びいます。私のフォームには、cmbPart_number、cmbPart_name、cmbEOnumber の 3 つのコンボボックスがあります。

私が知りたいのは、ユーザーが cmbPart_number から選択したときに、cmbPart_name および cmbEO_number ボックスがどのように自動入力されるかだけです。これまでに試したのは、行ソースSQLクエリにpart_nameとEO_numberを追加し、cmbpart_nameのコントロールソースにcmbpart_name(value)=cmbpart_number.column(1)を試したことです

これに関するヘルプは本当に感謝しています

4

2 に答える 2

3

これを行うには、AfterUpdate イベントで RowSource を設定します。

Private Sub cmbPart_number_AfterUpdate()

   cmbPart_name.RowSource = "...WHERE [PartNumber] = '" & _
                                                   cmbPart_number.value & "'; "
   cmbPart_name.Requery

End Sub

Access でカスケード コンボ ボックスを実装するさまざまな方法について説明します。

于 2009-05-29T18:00:54.240 に答える
0

VB を深く掘り下げることなく、これを行う簡単な方法が必要であることはわかっていました。私の最初のコンボボックス、つまり cmbPart_number を次のように変更しました。行ソースには、SQL クエリの 3 つのフィールドすべてがあります。Access は常にテーブルの最初の列を 0 としてカウントするため、列数を 2 に変更しました。そのため、3 つのフィールドすべてで列 0、1、および 2 になります。私の列幅は 1";0" です

次に、cmbPart_name のコントロール ソースを =cmbpart_number.column(1) に変更しました。その行ソースには、SELECT ステートメント SELECT part_number, part_name FROM parts, ORDER BY... があります。列数は 1 で、列幅は 0";1" です。

最後に、cmbEO_number の場合、コントロール ソースは =cmbpart_number.column(2) です。行ソースの select ステートメントは SELECT part_number, EO_number FROM parts ORDER BY... 列数は 1、列幅は 0";1" です

これで問題なく動作し、cmbPart_number ボックスで選択されたエントリが他の 2 に自動入力されます。ご協力ありがとうございました。

于 2009-05-29T19:42:32.287 に答える