2010-05-14 70 views
2

我願做這樣的事情:如何在Access中的VBA編輯器窗口中運行查詢?

DoCmd.OpenQuery "select * from some_table;" 

我將如何做到這一點?

請記住,我不想創建一個新的查詢,保存並運行它。我只想在VBA代碼中輸入select語句並運行它。

+0

你的例子顯示了一個SELECT語句(而不是INSERT,DELETE,...)。你想對結果集做什麼? – Heinzi 2010-05-14 21:48:46

+0

我只想得到一個最大值並將其放入一個變量中 – 2010-05-14 21:54:43

回答

4

如果你只是想獲得一個最大值,該DMax-Function應該做的伎倆:

myVariable = DMax("fee", "courses", "region = 'UK'") 

(相當於SELECT MAX(fee) FROM courses WHERE region = 'UK')。

1

您可以運行一個查詢,像這樣的東西檢索單個值:

Set rst = CurrentDB.OpenRecordset("Select Max(myCol) FROM myTable") 
myValue = rst(0).Value 

,您可以向下縮短到這樣一行:

lngValue = CurrentDB.OpenRecordset("Select Max(myCol) FROM myTable")(0) 
+2

使用它們之後,您應該關閉您的記錄集,否則您的記憶將不會釋放(請參閱,例如KB 209847)。 – Heinzi 2010-05-14 22:11:18

+0

我一直在後者查找單個值。它沒有任何危險,因爲它基於CurrentDB,一旦它被調用,它就一直超出範圍(即每次調用它都會得到不同的對象,如果你沒有在第一次調用中堅持結果, t存在於被調用的行之後)。 – 2010-05-15 19:18:10

+0

@大衛:除了你的數據庫將增長到數百兆字節的大小。 – SLaks 2010-05-16 02:06:03

相關問題