【问题标题】:Editing Passthrough SQL Query with Replace in Microsoft Access VBA在 Microsoft Access VBA 中使用替换编辑直通 SQL 查询
【发布时间】:2021-06-28 13:59:06
【问题描述】:

在 Access 中,我有一个 SQL 直通查询,它返回按名字过滤的整个表。

例子

SELECT * FROM dbo.Original_Data
WHERE first_name = 'Mike';

我正在尝试编写一些 VBA,通过单击按钮获取直通查询并将“Mike”替换为我输入的任何名称(稍后将通过组合框完成,但这是另一个步骤)。

我有这个,其中 TempPT 是直通查询的名称。

Private Sub Command12_Click()

TempPT = Replace(TempPT, "Mike", "Sam")    
DoCmd.OpenQuery "TempPT"

End Sub

这不起作用。

有没有一种方法可以让我在有“Sam”的地方输入的任何内容都是直通查询过滤的内容?

我正在使用直通,因为数据库很大并且阻塞了访问。

【问题讨论】:

    标签: sql vba ms-access pass-through


    【解决方案1】:

    您需要编辑查询的SQL 属性。大概是这样的:

    With CurrentDb().QueryDefs("TempPT")
        .SQL = Replace(.SQL, "Mike", "Sam") 
    End With
    
    DoCmd.OpenQuery "TempPT"
    

    【讨论】:

    • 第一次就彻底搞砸了。非常感谢老兄,插上它就完美了。现在添加该组合框:)
    猜你喜欢
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多