2014-01-21 43 views
0

我正在創建一個動態傳遞查詢,爲了做到這一點,我首先需要查詢我的本地數據庫並獲得一個ID。 這個ID是我將放入我的查詢的WHERE子句的傳遞查詢。存儲一個sql select語句,從VBA運行在一個數值變量

我的字符串:

getCorpID = "SELECT corpID " & _ 
      "FROM dbo_corp " & _ 
      "WHERE name = " & Forms.frmMain.Combo4.Value 

然後我試圖做一個類似於:

CorpID (integer) = docmd.runsql (getCorpID) 

我知道,但是那的DoCmd runsql不與SELECT語句工作,或返回價值甚至。我可以用什麼來運行我的字符串

getCorpId 

SQL和存儲結果(這將只有一個結果,每次..一個數字),我的變量CorpID

謝謝。

+1

注意,構造查詢這種方式讓你對SQL注入開放。如果你打算做數據庫開發,你應該熟悉這個主題。 – 2014-01-21 18:26:57

+1

你可以在組合中包含很多內容,爲什麼不只是引用組合列? – Fionnuala

+0

喬恩,我只是一名實習生,甚至在我本科的高年級都沒有。隨我一起學習。 – CRBN

回答

1

考慮如何使用Recordset

Dim dbs As DAO.Database 
Dim rsSQL As DAO.Recordset 
Dim getCorpID As String 
Dim CorpID 

Set dbs = CurrentDb 


getCorpID = "SELECT corpID " & _ 
     "FROM dbo_corp " & _ 
     "WHERE name = " & Forms.frmMain.Combo4.Value 
Set rsSQL = dbs.OpenRecordset(getCorpID , dbOpenSnapshot) 
rsSQL.MoveFirst 
CorpID = rsSQL.Fields("corpID") 
+1

謝謝,這絕對讓我朝着正確的方向前進。 – CRBN

相關問題