在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"的地方键入的内容成为直通查询的过滤依据?
我之所以使用passthrough,是因为数据库很大,阻塞了Access。
您需要编辑查询的SQL
属性。可能是这样的:
With CurrentDb().QueryDefs("TempPT")
.SQL = Replace(.SQL, "Mike", "Sam")
End With
DoCmd.OpenQuery "TempPT"