我在Access中创建了一个表单,用于查询设置日期范围内的单个记录。这很好用。我的问题是如何从表单文本框中查询多个记录。
类似于SQL函数的东西
IN('XXX','XXX','XXX')
我希望我的用户能够在表单上输入多个值,并且会吐出相应的数据。
答案 0 :(得分:0)
尝试使用Split()函数。像这样:
Dim arr() As String
Dim MySQL as String
If Len(Me!MyTextbox) > 1 Then
MySQL = "SELECT * FROM MyTable WHERE MyField in ("
arr = Split(Me!MyTextbox.Text, ",")
For i = LBound(arr) To UBound(arr)
MySQL = MySQL & "'" & arr(i) & "', "
Next
MySQL = Left(MySQL, Len(MySQL) - 2) & ")"
Me.RecordSource = MySQL
Else
MsgBox "There are no values to search for."
EndIf
您只需遍历数组并将每个值添加到WHERE字符串中。您必须指示您的用户(通过表单上的标签)使用逗号分隔值。
答案 1 :(得分:0)
如果要允许多个条目,通常最好有一个数据表子表单,用户可以在其中每行输入一个数据。然后在查询中使用子表单数据,就像常规表一样。