编辑直通 SQL 在 Microsoft Access 中使用替换查询 VBA

Editing Passthrough SQL Query with Replace in Microsoft Access VBA

在 Access 中,我有一个 SQL 直通查询,returns 整个 table 按名字过滤。

示例

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 属性。大概是这样的:

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

DoCmd.OpenQuery "TempPT"