【问题标题】:Update Access Query using VBA使用 VBA 更新访问查询
【发布时间】: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 子句之外的所有对表的引用来缩短代码 - 只有一个表,因此字段来自哪个表没有歧义。

标签: sql ms-access vba


【解决方案1】:

解决了我的问题。 SQL 代码未更新查询的事实是由打开的查询窗口引起的。我不明白要运行查询,必须关闭查询窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-11
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多