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

问题描述 投票:0回答:2

在 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 vba ms-access pass-through
2个回答
1
投票

您需要编辑查询的

SQL
属性。大概是这样的:

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

DoCmd.OpenQuery "TempPT"

0
投票

我知道这是一个较老的问题,但是在将原始 SQL 语句中的“Mike”替换为“Sam”后,如何替换它呢? 我真正的问题是,一旦您更新原始直通查询中的变量,如何在执行查询后重置它?

© www.soinside.com 2019 - 2024. All rights reserved.