Guten Tag
in einem Formular habe ich ein ungebundenes Feld „Auswahl“.
In dieses Feld soll eine Zahl geschrieben werden, die beim Klicken auf eine Befehlsschaltfläche darunter das Feld „VP“ der Tabelle „VP def“ in der Abfrage „Abfrage VP“ ändert und dann diese öffnet. Mein Code funktioniert nicht. Kann mir jemand helfen? Danke!
Private Sub Befehl30_Click()
Dim a As Variant
a = („Abfrage VP“, "SELECT * FROM VP def WHERE VP LIKE „Auswahl“)
DoCmd.OpenQuery „Abfrage VP“
aber nur der obere Teil! Leider bringe ich es nicht fertig, den Code so abzuändern, dass es in meiner Datenbank funktioniert. Eine Sortierung brauche ich nicht. Meine Objekte sind:
Tab: „VP Def“. Abfrage: „Abfrage VP“ Feld: „VP“
Also ich habe eine Abfrage: „Abfrage VP“. Da gibt es ein Feld „VP“ von der Tab „VP def“ (und andere Felder natürlich). Im Feld „VP“ habe ich das Kriterium 15.
Ich will nun ein Formular, in dem ich ein neues Kriterium für das Feld „VP“ eingeben kann, z.B. 14. Dann sollte es ein Enter-Button geben, und wenn ich den anklicke, soll die „Abfrage VP“ mit allen Feldern mit dem neuen Kriterium 14 im Feld „VP“ starten.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Also ich habe eine Abfrage: „Abfrage VP“. Da gibt es ein Feld
„VP“ von der Tab „VP def“ (und andere Felder natürlich). Im
Feld „VP“ habe ich das Kriterium 15.
WO wird diese Abfrage verwendet??
Ich will nun ein Formular, in dem ich ein neues Kriterium für
das Feld „VP“ eingeben kann, z.B. 14. Dann sollte es ein
Enter-Button geben, und wenn ich den anklicke, soll die
„Abfrage VP“ mit allen Feldern mit dem neuen Kriterium 14 im
Feld „VP“ starten.
WARUM eine ABFRAGE starten??
Ich nehme mal an, Du willst die in einem Formular angezeigten Datensätze nach dem bestimmten Kriterium filtern.
Dann schreib in die Eigenschaft „Datenherkunft“ des Forms den Tabellennamen („VP def“) , aus deren Feldern die Daten im Form angezeigt werden. (btw: Sonder-und Leerzeichen in Tabellen- und sonstigen Objektnamen führen in den meisten Fällen zu Komplikationen, also auf solche Zeichen und auch auf reservierte Wörter verzichten)
Erstell ein zusätzliches ungebundenes Textfeld („txtSuchen“) und einen Button „btnSuchen“ mit dieser Ereignisprozedur („beim Klicken“):
Sub btnSuchen_Click()
Me.Filter="VP = " & nz(Me!txtSuchen,0)
Me.Filteron=true
End Sub
Soll statt einer Filterung die Datenherkunft des Forms manipuliert werden (Abfrage statt Tabelle), dann etwa so:
Sub btnSuchen_Click()
Me.Recordsource ="Select * from [VP def] Where VP = " & nz(Me!txtSuchen,0)
End Sub
Hallo
Vielen Dank für deine ausführliche Antwort.
Du hast recht, warum eine Abfrage starten. Im Formular geht es viel einfacher.
Es funktioniert wie von dir beschrieben. Herzlichen Dank