搜索表单代码有什么问题?

时间:2016-12-23 02:11:35

标签: runtime-error ms-access-2013 search-form

我有一个包含子表单的搜索表单。

我一直得到运行时错误'3075':查询表达式'[MC_No]中的语法错误(缺少运算符),如''[Customer],如''[Date_Recorded] =#23 / 11/2016#AND [产品]如'*'。

有人可以识别我的错误吗?我检查过每一行。也许我错过了什么。

这些是我的代码

Private Sub Search_Click()

Dim strDatePicker As String
Dim cboMC As String
Dim strProduct As String
Dim cboCustomer As String
Dim sql As String

sql = "select * FROM 3_OEE WHERE "

If IsDate(Me.DatePicker) Then
strDatePicker = " [Date_Recorded] = #" & DateValue(Me.DatePicker) & "#"
Else
strDatePicker = " [Date_Recorded] like '*'"
End If

If IsNull(Me.MC_No) Then
cboMC = " [MC_No] like '*'"
Else
cboMC = " [MC_No] like '" & Me.MC_No & "'"

If IsNull(Me.Customer) Then
cboCustomer = " [Customer] like '*'"
Else
cboCustomer = " [Customer] = '" & Me.Customer & "'"
End If

Me.subfrmOEE.Form.RecordSource = sql (*Error highlights this code*)
Me.subfrmOEE.Form.Requery

1 个答案:

答案 0 :(得分:0)

在出现错误的那一行,您的变量sql与首次声明该变量时相同,即:"select * FROM 3_OEE WHERE "

这不是有效的查询。您需要从该查询的末尾删除WHERE或将其余的查询语句附加到sql变量中(换句话说,将WHERE条件添加到该查询的末尾)查询)。