2014-09-04 243 views
0

他們是如何在SELECT Sql語句中使用聲明的VBA變量的方式如下(我有一個名爲myTable的表,我想通過傳遞聲明字符串myVar來設置引用字段) : 如passVar(「英語」)在SELECT Sql語句中使用VBA變量

注:我使用Microsoft Access

Private Function passVar(myVar as string) 

Dim db As Database 
Dim qdf As DAO.QueryDef 
Dim stmnt As String 

Set db = CurrentDb() 
Set qdf = db.QueryDefs("SelectSubjectQuery") 

stmnt = "SELECT [myTable].[myVar] = " &Chr$(34) & myVar & Chr$(34) & _ 

     //other SQL statements go here 

qdf.SQL = stmnt 

End Function 

每次我運行出現一個對話框詢問的mytable.myvar的價值,而不是通過myvar即Eglish作爲查詢參考字段myTable

回答

3

是,生成SQL語句像這樣的字符串:然後

stmnt = "SELECT " & [myTable] & "." & [myVar] & " = " &Chr$(34) & myVar & Chr$(34) & _ 

VBA應在MyTable的和MyVar的名字填在運行代碼和字符串建立。

+0

是的,我已經完成了上述工作,但出現一個對話框,要求我輸入mytable.English的參數值;請幫助 – 2014-09-04 12:53:31

1
stmnt = "SELECT [myTable]." & myVar & _ 

通過上面的寫法得到它(通過函數傳遞字符串時不需要等號)。感謝您的洞察力@rcfmonarch