[英]sql Query in VBA code
如果我想在VBA中編寫以下代碼,該如何做
QUERY1:
SELECT field1, Min(field4) AS MinField4, Max(field5) AS MaxField5
FROM Table1
GROUP BY field1;
SELECT Query1.field1, Table1.field2, Table1.field3, Query1.MinField4,
Query1.MaxField5
FROM Query1 INNER JOIN Table1 ON (Query1.field1 = Table1.field1) AND
(Query1.MinField4 = Table1.field4) AND
(Query1.MaxField5 = Table1.field5);
我知道執行SQL時會將其存儲為字符串並編寫運行SQL。 但是如何編碼將query1存儲為可在其他SQL語句中引用的持久對象?
我認為您的問題是“如何使用代碼在Microsoft Access中創建新查詢?”
有兩種解決方案:
CREATE VIEW
。 因此,您可以在代碼中構造該語句,然后通過OLE DB(例如VBA代碼中的ADO)針對數據庫執行該語句。 QueryDefs
的集合屬性,您可以訪問該屬性以操縱(並創建)存儲在數據庫中的查詢。 這里有一些代碼將用您的結果填充數據集
Dim cnn As ADODB.Connection
Dim recordset As ADODB.Recordset
Dim strSQL As String
Set cnn = CurrentProject.Connection
strSQL = "SELECT blah ..."
recordset.Open strSQL, cnn, adOpenKeyset, adLockOptimistic, adCmdText
'do what you want now.
哦,已經有一段時間了,但您可能也想清理一下
Set recordset = Nothing
'etc..
您可以只創建一個查詢並將該SQL粘貼到SQL視圖中(可從查詢設計窗口中獲得)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.