MS ACCESS - 错误运行SQL 3141中VBA
问题描述:
我得到在MS Access错误,而基于组合框MS ACCESS - 错误运行SQL 3141中VBA
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
这里我的代码
Private Sub Text4_AfterUpdate()
If (Me.Text4.Value = "(ALL)") Then
filterORIGIN_COD = "SELECT SUMMARY.DEST_CITY, SUMMARY.DESTINATION, Count(SUMMARY.CNOTE_NO) AS CountOfCNOTE_NO1" & _
"FROM SUMMARY" & _
"WHERE (((SUMMARY.ORIGIN_CODE) Like " & "'" * "'" & ")))" & _
"GROUP BY SUMMARY.DEST_CITY, SUMMARY.DESTINATION, SUMMARY.TGL_DATA, SUMMARY.ORIGIN_CODE, SUMMARY.ORIGIN, SUMMARY.DEST_CODE;"
Else
filterORIGIN_COD = "SELECT SUMMARY.DEST_CITY, SUMMARY.DESTINATION, Count(SUMMARY.CNOTE_NO) AS CountOfCNOTE_NO1" & _
"FROM SUMMARY" & _
"WHERE (((SUMMARY.ORIGIN_CODE)=" & """Me![Text4]""" & ")))" & _
"GROUP BY SUMMARY.DEST_CITY, SUMMARY.DESTINATION, SUMMARY.TGL_DATA, SUMMARY.ORIGIN_CODE, SUMMARY.ORIGIN, SUMMARY.DEST_CODE;"
End If
Me![OUTBOUND_DETAIL].Form.RecordSource = filterORIGIN_COD
Me![OUTBOUND_DETAIL].Requery
End Sub
附加试图改变窗体记录源 实际上我试图过滤子表单(查询记录源),有人能告诉我更好的方法来做到这一点吗? :)
答
如果试图在一个触发事件筛选子窗体,只需使用DoCmd.ApplyFilter或DoCmd.SetFilter(用于访问2010+)方法,其也可在宏:
Private Sub Text4_AfterUpdate()
DoCmd.ApplyFilter , "[SUMMARY.ORIGIN_CODE]='" & Me![Text4] & "'"
End Sub
结果字符串之前有没有空间单词“FROM”,例如“... CountOfCNOTE_NO1FROM SUMMARY ...” –