在 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”处输入的任何内容都是直通查询将过滤的内容?
我使用直通,因为数据库很大并且会堵塞 Access。
您需要编辑查询的
SQL
属性。大概是这样的:
With CurrentDb().QueryDefs("TempPT")
.SQL = Replace(.SQL, "Mike", "Sam")
End With
DoCmd.OpenQuery "TempPT"
我知道这是一个较老的问题,但是在将原始 SQL 语句中的“Mike”替换为“Sam”后,如何替换它呢? 我真正的问题是,一旦您更新原始直通查询中的变量,如何在执行查询后重置它?