Abfrage mit Filter in VBA erstellen

Hallo,
leider habe ich ein VBA-Problem, für dessen Lösung ich Eure Hilfe brauche.

Ich habe eine Tabelle, die sieht wie folgt aus:

Name Vorname Kontostand Passwort

Meier Paul 1.000,00 € Paul
Müller Liesel 2.000,00 € Liesel
Schmidt Hans 1,00 € Hans

In einem Formular gebe ich über eine Inputbox mein Passwort ein.
Jetzt soll eine Abfrage generiert werden, die nur die Datensätze auflistet, die das Passwort haben.
In einer „klassischen“ Abfrage ist dies die SQL Anweisung "HAVING ((Passwort=„Hans“)).

Wie löse ich mein Problem in VBA?

Über Hilfe freue ich mich!

Viele Grüße,Franziska

Hallo,

Ich habe eine Tabelle, die sieht wie folgt aus:

Name Vorname Kontostand Passwort

Meier Paul 1.000,00 € Paul
Müller Liesel 2.000,00 € Liesel
Schmidt Hans 1,00 € Hans

In einem Formular gebe ich über eine Inputbox mein Passwort
ein.

Nimm besser ein ungebundenes Textfeld. Dem kannst Du dann auch gleich das Eingabeformat „Kennwort“ verpassen.

Jetzt soll eine Abfrage generiert werden, die nur die
Datensätze auflistet, die das Passwort haben.
In einer „klassischen“ Abfrage ist dies die SQL Anweisung
"HAVING ((Passwort=„Hans“)).

in einer klassischen (nicht gruppierenden) Abfrage wäre es „Where“

Wie löse ich mein Problem in VBA?

so:

Sub btnKonto_Click()
Dim strSQL as String, strInp as String
strInp =Inputbox („bitte PW eingeben“)

If strInp „“ then

strSQL = "Select * from tblDeineTabelle where [Passwort} = ’ " & strInp & „’“

End if

’ und hier den SQL_String zur Anzeige der Daten z. B. einem Listenfeld zuweisen

Me!lstKonto.Rowsource=strSQL

'oder stattdessen (nicht empfohlen ! ), wenn es eine gespeicherte Abfrage sein soll:
Currentdb.Querydefs(„abf_Kontostände“).SQL =strSQl
Docmd.Openquery „abf_Kontostände“

End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,
mit dem Listenfeld klappt es schon ganz gut. Es taucht jetzt nur ein weiteres Problem auf, bei dem ich 'n Brett vorm Kopp habe:

Mein Listenfeld (mit genau den gewünschten Angaben!!!) erscheint in meinem Formular so oft, wie Zeiten in der Abfrage vorhanden waren.
Wie reduziere ich dies auf ein einziges Mal, dasss das Listenfeld (lstKonto) in meinem Formular frm_Kontoangaben auftauscht?

Grüße aus dem hohen Norden!
Franziska

Hallo,

weder Du noch ich haben von einem Endlosform gesprochen…

Falls es sich um ein solches handelt, dann setz das Listenfeld in den Formularkopf oder -fuß.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Ups… Dickes Ei. Hast völlig recht. Es sollte auch kein Endlosformular sein.

Danke für alles und herzliche Grüße!

Franziska