在Microsoft Access VBA中使用Replace编辑Passthrough SQL Query



在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"

最新更新