Ich habe ein Array ListBoxContents(), das die Elemente wie '15', '16', '25' enthält bis zu 10 Elemente. Ich versuche, Daten in der Spalte Bnummer abzurufen, bei denen die Datenlänge> 6 beträgt und mit ('15', '16', '25'...) beginnt, d.h. die Elemente, die in der Listbox angegeben sind. Und versuche, diese Listbox-Elemente im WHERE-Teil des SQL-Statements abzufragen
Die Tabellenspalte Bnummer enthält
Bnumber
152
156
1523
16417
AA454
CC654
18A16
1826
18A16
25A76
54A16
54235A68
Mein VBA-Code
Private Sub arraywhere()
Dim qry As String
Dim Size As Integer
Size = Form_Input_From.lstdigits.ListCount - 1
ReDim ListBoxContents(0 To Size) As String
ReDim LContents(0 To 30) As String
Dim m As Integer
For m = 0 To Size
ListBoxContents(m) = Form_Input_From.lstdigits.ItemData(m)
Next m
For m = 0 To Size
qry = "SELECT col1,col2,Bnumber " & _
"FROM table WHERE (Len([table].[Bnumber]))>6) AND (Left
([table].[Bnumber],2))=(" & ListBoxContents(m) & ");"
Next m
Debug.Print qry
Application.CurrentDb.QueryDefs("[arrayqry]").sql = qry
DoCmd.OpenQuery "[arrayqry]"
End Sub
Aber mein WHERE-Teil liest nur das letzte Array-Element. Wie spezifiziere ich das Array im WHERE-Teil?