查询语句中的多个字段

时间:2013-06-20 19:16:26

标签: ms-access access-vba where-clause

因此以下查询语句可以正常工作。但我需要添加一个额外的字段来检查,这可能吗?

因此,如果FIELD1或FIELD2等于Combo254.text中的任何值,则选择这些记录。

这是我正在运行的当前查询:

Temp = Combo254.Text

Dim strSQL As String
Dim strWhere As String
strWhere = (Chr(34) + Combo254.Text + (Chr(34)))

strSQL = "SELECT * FROM MainQuery WHERE [FIELD1] Like " & strWhere

'MsgBox (strSQL)
[Form_Main].RecordSource = strSQL

1 个答案:

答案 0 :(得分:2)

使用单词ANDOR加入每个附加条件。

作为旁注,如果加倍引号,VBA允许您在文字字符串中包含引号。我认为这比使用Chr(34)更具可读性。

strSQL = "SELECT * FROM MainQuery " & _
    "WHERE [FIELD1] Like """ & Combo254.Text & """ OR " & _
    "[FIELD2] Like """ & Combo254.Text & """"

在这种情况下,Access不关心您是使用单引号还是双引号,因此您可以像这样重写查询:

strSQL = "SELECT * FROM MainQuery " & _
    "WHERE [FIELD1] Like '" & Combo254.Text & "' OR " & _
    "[FIELD2] Like '" & Combo254.Text & "'"