10
böyle VBA yerel masaya MS Access hazırlanmış bir deyimi yürütme mümkün mü hazırlanmış?MS Access ifadeleri
böyle VBA yerel masaya MS Access hazırlanmış bir deyimi yürütme mümkün mü hazırlanmış?MS Access ifadeleri
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
örnek, yeni, kaydedilmemiş QueryDef
kullanılan bu. Kaydedilmiş bir parametre sorgusu varsa, bunun yerine CreateQueryDef
hat için bu satırı yerine bunu kullanabilirsiniz:
Set qdf = db.QueryDefs("YourQueryName")
iki şekilde de, sonra da pozisyonlara göre benim yaptığım gibi adlarıyla bireysel parametrelere bakın, ya da
.Parameters(0).Value = Date()
.Parameters(1).Value = 1
Ek notlar: SQL deyiminde ... yani bu yukarıdaki gibi aynı şekilde çalışacaktır
.Value
biriçin varsayılan özelliktir, yani burada dahil olmak kesinlikle gerekli değildir. Öte yandan, açık olmak incitmez. Gord aşağıda belirtildiği gibi.Parameters("which_id")
"Bang gösterimde" daha özlü
!which_id
gibi parametrenin adı ile "Bang notasyonu" kullanabilirsiniz da parametre değerlerinin ayarlanması için çalışır, mesela, 'QDF! which_id = 1' –