Microsoft Access VBA:需要从现有查询以编程方式获得sql表示



我需要能够从现有查询中获得sql "属性"。例如,我可以定义strRS为:

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

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

strSQL = UnknownFunction(strRS)  

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

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

一旦我有strSQL字符串,然后我可以从中提取,使相关的查询

好吧,如果不把它弄得太复杂的话,它是微不足道的。我可能一开始就得到了错误的答案,因为我混淆了"QueryDefs"one_answers"QueryDef",这是我应该知道的。

那么,废话少说,完整的工作代码是:

Function FCN_QClip(strQRY As String) As String
     qds = CurrentDb.QueryDefs(strQRY).SQL
     FCN_QClip = qds
End Function

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

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

最新更新