Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
SQL-Abfrage mit Parameterübergabe ausführen
zurück: Beispiel Db Belegungsplan weiter: Verknüpfte Tabellen in Front-/Backend prüfen/aktualisieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
03. Jul 2007, 13:48
Rufname:

SQL-Abfrage mit Parameterübergabe ausführen - SQL-Abfrage mit Parameterübergabe ausführen

Nach oben
       Version: Office 2003

Hallo zusammen,

hier eine kleine Funktion, mit deren Hilfe man eine zuvor definierte Abfrage aus der Abfrageliste ausführen kann.

Wenn man Parameter in der Abfrage definiert, können über diese Funktion auch bis zu drei Parameter übergeben werden. Der Einfachheit halber müssen diese "Param1", "Param2" und "Param3" heißen. Der Typ kann beliebig definiert werden (Beispiel im Kommentar):
Code:
Option Compare Database
Option Explicit

' Author : Christian Coppes
' Version: V1.0
' Last Modified: 22.06.2007
'
' Executes a query of the querylist with up to three parameters
'
' The parametes must be defined in the query as the first line with for
' example:
'
' PARAMETERS [Param1] text(50), [Param2] text(50), [Param3] text(50);
'
' Instead of "text" there can be any other type.
' The parameters must be of this names. They can be used anywhere in the query
' where parameters are allowed.
'
' Parameters: strQueryName = Name of the query
'             strParam1,2,3 = Content of the parameter(s)
Function executeMyQuery(strQueryName As String, _
                        Optional varParam1 As Variant, _
                        Optional varParam2 As Variant, _
                        Optional varParam3 As Variant) As Long
On Error GoTo Fehler
    Dim db As DAO.Database
    Dim qdfTmp As DAO.QueryDef
   
    Set db = CurrentDb
    DoCmd.SetWarnings False
    Set qdfTmp = db.QueryDefs(strQueryName)
    If Not IsMissing(varParam1) Then qdfTmp.Parameters("Param1") = varParam1
    If Not IsMissing(varParam2) Then qdfTmp.Parameters("Param2") = varParam2
    If Not IsMissing(varParam3) Then qdfTmp.Parameters("Param3") = varParam3
    qdfTmp.Execute
    executeMyQuery = qdfTmp.RecordsAffected
    DoCmd.SetWarnings True
    Set qdfTmp = Nothing
    Set db = Nothing
    Exit Function
Fehler:
    Select Case Err.Number
      Case Else
        MsgBox "Error in executeMyQuery: " & vbCr & Err.Description & vbCr & _
               " Number: " & Str(Err.Number)
        Resume Next
   End Select
End Function
Die Funktion kann natürlich noch auf eine andere Anzahl Parameter angepaßt werden. Warnings ("Sie möchten 20 Datensätz löschen... ") werden automatisch deaktiviert und nach der Ausführung wieder aktiviert. Im Rückgabewert steht die Anzahl der Datensätze, auf die die Ausführung der Abfrage zutraf.

Gruß

Christian
Willi Wipp
Moderator


Verfasst am:
03. Jul 2007, 16:51
Rufname:
Wohnort: Raum Wiesbaden


Re: SQL-Abfrage mit Parameterübergabe ausführen - Re: SQL-Abfrage mit Parameterübergabe ausführen

Nach oben
       Version: Office 2003

Hi Bitsqueezer,

und noch ein schoenes Beispiel Wink
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: mehrere Abfragen gleichzeitig ausführen 3 thelma 1412 20. Aug 2008, 14:00
Willi Wipp mehrere Abfragen gleichzeitig ausführen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage: Umsätze in verschiedenen Jahren 4 ReinGestolpert 582 20. Jun 2008, 08:38
ReinGestolpert SQL-Abfrage: Umsätze in verschiedenen Jahren
Keine neuen Beiträge Access Tabellen & Abfragen: Zeitraum bei SQL-Abfrage berücksichtigen 3 steven_j 6951 04. Mai 2008, 20:17
jens05 Zeitraum bei SQL-Abfrage berücksichtigen
Keine neuen Beiträge Access Tabellen & Abfragen: Parameterübergabe klappt nicht bei Kriterium Between.. And.. 2 Knuffi 702 23. Apr 2008, 17:53
Knuffi Parameterübergabe klappt nicht bei Kriterium Between.. And..
Keine neuen Beiträge Access Tabellen & Abfragen: Beim Öffnen Tabelle automatisch Filter ausführen 1 Silly14 3111 04. Feb 2008, 17:34
rita2008 Beim Öffnen Tabelle automatisch Filter ausführen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage Zeichen aus Textfeld entnehmen 6 Dan0032 3123 13. Sep 2007, 10:16
Nouba SQL-Abfrage Zeichen aus Textfeld entnehmen
Keine neuen Beiträge Access Tabellen & Abfragen: SQL-Abfrage auf aktuellen Datensatz beziehen 2 Neonblade13 1207 21. Jun 2007, 14:37
Neonblade13 SQL-Abfrage auf aktuellen Datensatz beziehen
Keine neuen Beiträge Access Tabellen & Abfragen: In Tabelle befindliches Statement ausführen 1 Gasthauke 402 05. Jun 2007, 20:04
jens05 In Tabelle befindliches Statement ausführen
Keine neuen Beiträge Access Tabellen & Abfragen: Rekursive SQL-Abfrage möglich? 1 Mo1982 1900 18. Mai 2007, 14:25
stargazer01 Rekursive SQL-Abfrage möglich?
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich 2 Abfragen in einer Methode ausführen! 8 Nega 583 19. Apr 2007, 09:13
Nega Wie kann ich 2 Abfragen in einer Methode ausführen!
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Abfragen direkt nacheinander ausführen 1 m0 1506 06. Apr 2007, 13:41
Thomas2007 Mehrere Abfragen direkt nacheinander ausführen
Keine neuen Beiträge Access Tabellen & Abfragen: Nachfrage SQL-Abfrage 6 Stefffano 1097 24. Nov 2006, 20:46
Stefffano Nachfrage SQL-Abfrage
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Macromedia Dreamweaver