【发布时间】:2020-07-13 20:02:41
【问题描述】:
我正在尝试使用 VBA 更新访问查询并更改 SQL 语句中的 Like 条件,但是虽然我知道 SQL 代码可以工作,但在使用 VBA 运行时它会继续返回相同的信息。
我的代码如下:
Function FTPCost()
Dim database As DAO.database
Dim query As DAO.QueryDef
Dim strSQL As String
Set database = CurrentDb
Set query = database.QueryDefs("ftp_for_a_part_Query")
strSQL = "SELECT ftp_for_a_part.PART, ftp_for_a_part.STD_TOT, ftp_for_a_part.DATE " & _
"FROM ftp_for_a_part " & _
"WHERE (((ftp_for_a_part.PART) Like '******')) " & _
"ORDER BY ftp_for_a_part.DATE DESC;"
'MsgBox strSQL
query.SQL = strSQL
DoCmd.OpenQuery "ftp_for_a_part_Query"
Set query = Nothing
Set database = Nothing
End Function
【问题讨论】:
-
"...它继续返回相同的信息..." - 你为什么期望它不返回相同的信息?
-
抱歉,我现在一直在手动更改 Like 条件,这将在未来对变量起作用
-
仍然不清楚实际问题是什么。您的代码看起来不错,只是
Like '600JSF2-1'没有多大意义,LIKE通常与通配符搜索一起使用。 -
您可以通过删除除
FROM子句之外的所有对表的引用来缩短代码 - 只有一个表,因此字段来自哪个表没有歧义。