-1
我有一個SQL傳遞查詢,它返回一個基於「FROM ... WHERE ='變量'」結構中的變量的表。我想在VBA代碼上使用該傳遞查詢並從窗體獲取變量。在簡歷中:我將在窗體上輸入變量,使用傳遞查詢運行VBA代碼並將結果帶回相同的表單。我怎麼做?如何使用QueryDef從傳遞查詢中獲取數據?
我有一個SQL傳遞查詢,它返回一個基於「FROM ... WHERE ='變量'」結構中的變量的表。我想在VBA代碼上使用該傳遞查詢並從窗體獲取變量。在簡歷中:我將在窗體上輸入變量,使用傳遞查詢運行VBA代碼並將結果帶回相同的表單。我怎麼做?如何使用QueryDef從傳遞查詢中獲取數據?
Dim rst As DAO.Recordset
With CurrentDb.QueryDefs("qryPass")
.SQL = "select * from dbo.tblCustomers where City = '" & Me!City & "'"
.ReturnsRecords = True
Set rst = .OpenRecordset
End With
以上將使用名爲City的當前表單文本框。防止SQL注入,那麼你可以使用這個:
.SQL = "select * from dbo.tblCustomers where City = " & qu(me!City)
而且你有一個通用的例程周圍放置的表達與報價:
Function qu(vText As Variant) As String
qu = Chr$(34) & vText & Chr$(34)
qu = Replace(qu, ";", "")
qu = Replace(qu, "(", "")
qu = Replace(qu, ")", "")
qu = Replace(qu, "=", "")
End Function
此方法偉業。謝謝! –