[Access] Parameter Abfrage per VBA verwenden

Thomas Darimont

Erfahrenes Mitglied
Hallo!

Wenn ihr mittels VBA in MS Access eine Parameterabfrage ausführen wollt könntet ihr folgendermaßen vorgehen:

1) Zuerst bindet ihr unter Verweise die
Microsoft DAO Bibliothek mit der Version 2.X bzw. 3.X ein.

2) Nun erstellt ihr eine Abfrage mit Namen qryTestParam.
In irgendeinem Feld legen wir dann mittels der [ Eckigen Klammern] einen Parameter Namens param1 in der Kriterienzeile an. -> param1

3) Um nun die Parameterabfrage ausführen zu können bedienen wir uns folgenden Codes:

Code:
Dim database As Database
Dim qry As Query

'Das Recordset, welches wir aus der Abfrage erhalten.
Dim rs As RecordSet

Set database = CurrentDB
Set qry= database.QueryDefs("qryTestParam")

'Hier setzen wir nun den Parameter den wir einfach mit dem Namen ansprechen.

qry.Parameters("param1") = "Hallo"

'Ergebnismenge ins RecordSet schieben

Set rs = qry.OpenRecordset

Auf diese Art und Weise lässt sich auch ganz leicht eine Volltextsuche (Suche nach einem Textmuster in mehreren Spalten gleichzeitig) bewerkstelligen.

Dazu gibt man einfach in jeder gewünschten Spalte in der Kriterienzeile etwa folgendes an:

Oder Wie [param1]

HTH
Gruß Tom
 
Was ist wenn ich mehrer Parameter habe und diese von Kombinationsfeldern im Formular abhängig machen möchte.
qry.Parameters("param1") = me!cbo...

aber wenn in einem Kombinationsfeld der Wert null angegeben ist, soll der Parameter so eingestellt werden, dass er alle Datensätze zeigt und nicht als Filter fungiert. Die Anderen jedoch, da evtl. Daten angegeben sind schon.
 

Neue Beiträge

Zurück