Microsoft Access VBA:需要以编程方式从现有查询

时间:2015-07-23 01:03:26

标签: sql vba ms-access access-vba

我需要能够从现有查询中获取sql“property”。例如,我可以将strRS定义为:

 
 strRS = Me.RecordSource '.RecordSource returns the name of a query

然后将该值传递给尚未定义的函数UnknownFunction(strRS),该函数将strRS作为值:

strSQL = UnknownFunction(strRS)  

然后,所需的输出strSQL将是原始的SQL字符串,用于定义表单的“RecordSource”属性所指向的查询。

我能得到的最接近的是可能有一个使用QueryDef的解决方案,但这是为了即时查询? UnknownFunction应该是什么?

一旦我拥有了strSQL字符串,我就可以从中提取它来进行相关的查询。

1 个答案:

答案 0 :(得分:0)

好吧,如果不太复杂,这是微不足道的。起初我可能得到了错误的答案,因为我很困惑" QueryDefs"使用" QueryDef",我应该知道。

所以不用多说,完整的工作代码是:

 
Function FCN_QClip(strQRY As String) As String

     qds = CurrentDb.QueryDefs(strQRY).SQL

     FCN_QClip = qds

End Function

?FCN_QClip("QueryName")将在现有查询的即时窗口中生成所需结果。感谢内森。

也可以在Social MSDN找到解决方案。