10
是否有可能在MS Access的本地表中VBA執行準備的語句是這樣的:的MS Access準備語句
UPDATE part SET part_description=? WHERE part_id=?
如果是這樣它怎麼辦?
是否有可能在MS Access的本地表中VBA執行準備的語句是這樣的:的MS Access準備語句
UPDATE part SET part_description=? WHERE part_id=?
如果是這樣它怎麼辦?
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim strSql As String
Set db = CurrentDb
strSql = "UPDATE Month_Totals Set item_date = [which_date]" & _
" WHERE id = [which_id];"
Debug.Print strSql
Set qdf = db.CreateQueryDef(vbNullString, strSql)
With qdf
.Parameters("which_date").Value = Date()
.Parameters("which_id").Value = 1
.Execute dbFailOnError
End With
這實施例中使用一種新的,未保存QueryDef
。如果你有一個保存的參數查詢,您可以通過,而不是取代該線爲CreateQueryDef
行中使用它:
Set qdf = db.QueryDefs("YourQueryName")
無論哪種方式,您可以通過它們的名字是指各個參數和我一樣,或由它們的位置在SQL語句...所以這將工作與上面相同:
.Parameters(0).Value = Date()
.Parameters(1).Value = 1
其他注意事項:
.Value
是一個的默認屬性,所以在這裏包括它並不是嚴格要求。另一方面,明確表示不會傷害。!which_id
,比.Parameters("which_id")
「砰符號」更簡潔的方法也適用於設置的參數值,例如,'QDF! which_id = 1' –