jest to możliwe do wykonania przygotowaną instrukcję w MS Access w lokalnej tabeli w VBA tak:MS Access sporządziły sprawozdania
UPDATE part SET part_description=? WHERE part_id=?
Jeśli tak, jak to się robi?
jest to możliwe do wykonania przygotowaną instrukcję w MS Access w lokalnej tabeli w VBA tak:MS Access sporządziły sprawozdania
UPDATE part SET part_description=? WHERE part_id=?
Jeśli tak, jak to się robi?
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
To przykład używany nowy, niezapisane QueryDef
. Jeśli masz zapisaną kwerendę parametryczną, można go używać zamiast zastępując ten wiersz dla CreateQueryDef
line:
Set qdf = db.QueryDefs("YourQueryName")
Tak czy inaczej, będzie można odnieść się do poszczególnych parametrów poprzez ich nazwy, jak ja, lub przez swoich pozycjach w SQL ... więc to będzie działać tak samo jak powyżej:
.Parameters(0).Value = Date()
.Parameters(1).Value = 1
dodatkowych notach:
.Value
jest własnością domyślne dla Parameter
, więc włączenie go tutaj nie jest ściśle wymagane. Z drugiej strony nie jest bolesne jawne.!which_id
, który jest bardziej zwięzły niż .Parameters("which_id")
„notacji Bang” działa również na ustawienie wartości parametrów, na przykład, 'QDF! which_id = 1' –