Wiki der Access Code Library

Gemeinsam zu mehr Effizienz in der Anwendungserstellung

Insert oder Update als Parameter-Abfrage

Aus Access Code Library
Wechseln zu: Navigation, Suche


Programmier-Konzepte

Inhalt

Der unten angeführte Code zeigt nur ein Prinzip und stellt keine fertige Lösung dar.

Ausgangsbasis

Eine insert- bzw. Update-Anweisung soll per VBA zusammengesetzt und mit Werten aus Variablen versorgt werden.

Eingesetzte Elemente

  • DAO.QueryDef

Konzept

  1. QueryDef-Objekt erstellen
  2. Parameterwerte festlegen
  3. SQL-Anweisung ausführen

Umsetzung

Public Function ExecuteParamSQL(ByVal SqlText As String, _
                           ParamArray QueryParams() As Variant) As Long
 
   Dim qdf As DAO.QueryDef
 
   Set qdf = CurrentDb.CreateQueryDef("", SqlText)
 
   Dim i As Long
   For i = 0 To UBound(QueryParams)
      qdf.Parameters(i) = QueryParams(i)
   Next
   qdf.Execute dbFailOnError
 
   ExecuteParamSQL = qdf.RecordsAffected
 
End Function

Verwendung

anzahlDS = ExecuteParamSQL("Parameters P1 text, P2 int, P3 date; " & _
                           "insert into Tabelle (T, Z, D) Values ([P1], [P2], [P3])", _
                           "abc", 123, Now())

Arr_l.png SQL-Anweisungen | Benutzerverwaltung und Login Arr_r.png