我有一个数组ListBoxContents(),它将包含像'15','16','25'......最多10项的项目.我正在尝试检索Bnumber列中的数据,其中长度> 6的数据以及('15','16','25'...)开头,即列表框中指定的那些项目.并尝试查询这些列表框项目在哪里cql语句的cluase
表列Bnumber包含
Bnumber
152
156
1523
16417
AA454
CC654
18A16
1826
18A16
25A76
54A16
54235A68
Run Code Online (Sandbox Code Playgroud)
我的VBA代码
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
Run Code Online (Sandbox Code Playgroud)
但我的WHERE子句只读取最后一个数组项.我如何在where子句中指定数组?
尝试类似的东西
" ... ([table].[Bnumber],2)) in ('" & Join(ListBoxContents,"','") & "');"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |