1

以前のフィルター(テキストボックス)に基づいて入力されたリストボックスがあります。これは、リストボックスに事前定義された数のアイテムがないため、インデックスを使用できないことを意味します。

私が探しているのは、クリックされた選択された行のリストボックスに3つの列があるため、column(0)の値を選択する方法です。

Private Sub listSource_Click()

Dim strSource As String

strSource = "SELECT [Product Code],[Stock Level],[Description] FROM [products/stock] " & _
"WHERE Mid([Product Code],1,5) = " & Me.listSource.Column(0).Value & ";"

Me.listResult.RowSource = strSource
Me.listResult = vbNullString

End Sub

私が必要だと思うのは、「Me.listSource.Column(0).Value」があるはずの小さなコードです。

よろしくお願いします、ボブP

4

3 に答える 3

3

私はあなたが欲しいと思います:

strSource = "SELECT [Product Code],[Stock Level],[Description] " & _
"FROM [products/stock] " & _
"WHERE Mid([Product Code],1,5) = '" & Me.listSource & "';"

Me.listSourceの前後の一重引用符に注意してください。

于 2012-09-27T14:00:13.853 に答える
1

Me.listresultバインドされた列を指定します

.Column(0)次に、他の列に、.Column(1)...を追加する必要があります。

表示する必要のあるリストの1つを見つけるには、.ItemsSelected.Count選択されている数(単純なリストボックスの場合は1)と.ItemsSelected(0)、最初に選択された項目のインデックスが表示されます。したがって、最初の列の完全な行が表示されます。最初に選択された行は次のようになります。

Me.listSource.ItemData(Me.ListSource.ItemsSelected(0))
于 2012-09-27T13:43:44.060 に答える
0

Me.ListSource.Column(0)を使用して、選択した行の最初の列の値を取得できるはずです。

関連項目:複数列のアクセスリストボックスの選択した行の列値を取得する

于 2012-09-27T13:42:52.330 に答える