Formular mit unterschiedlichen Abragen

Hallo,

ich suche eine Möglichkeit, ein Formular (FormA) über die Datensatzquelle mit unterschiedlichen Abfragen (Abfr1 oder Abfr2 oder Abfr 3…)zu starten. Die Auswahl der Abfrage sollte über eine Optionsgruppe erfolgen.
Wer kann mir mal auf die Sprünge helfen?

Vielen Dank und schöne Grüße
Harald

Moin Moin,

ich suche eine Möglichkeit, ein Formular (FormA) über die
Datensatzquelle mit unterschiedlichen Abfragen (Abfr1 oder
Abfr2 oder Abfr 3…)zu starten.

ok, dann nutze doch DoCmd.OpenForm mit z.B. den OpenArgs
Diese wertest du dann im Formular „beim laden“ aus.
Das anschließende Refresh nicht vergessen :smile:

Die Auswahl der Abfrage sollte über eine Optionsgruppe erfolgen.

ok, erstelle ein Formular mit der Optionsgruppe, das du nach der Auswahl wieder schließt.

oder meinst du z.B. im Kopf/Fuß des Formulars soll es eine Optionsgruppe geben? Dann kannst du einfach per

Me.Recordsource = deineAbfrage oder SQL-Anweisung
Me.Requery

realisieren

Wer kann mir mal auf die Sprünge helfen?

hoffe der Sprung gelingt :smile:

Grüße aus Rostock
Wolfgang
(Netwolf)

Hallo,

ich suche eine Möglichkeit, ein Formular (FormA) über die
Datensatzquelle mit unterschiedlichen Abfragen (Abfr1 oder
Abfr2 oder Abfr 3…)zu starten. Die Auswahl der Abfrage sollte
über eine Optionsgruppe erfolgen.
Wer kann mir mal auf die Sprünge helfen?

Das kann ich machen…(Wobei das mit verschiedenen Abfragen eher weniger optimal ist, wenn sich nur die Kriterien, aber nicht die Felder oder die zugrundeliegende Tabelle ändern.)

Mit Übergabe von Kriterien

Sub OptGruppe1_Click()
Select Me!optgruppe!

Case 1
Docmd.Openform „FormA“,„ZahlTabellenfeld=>“

Case 2
Docmd.Openform „FormA“,„TextTabellenfeld=‚IrgeneinText‘“

Case 3
Docmd.Openform „FormA“,"TextTabellenfeld=‚IrgeneinText‘
Case else

Ebd Select
End Sub

Wenn es unbedingt mit Abfragen passieren soll, dann muss der Optgr-Wert als Openarg-Parameter übergeben und im Form_Load Ereignis ausgewertet werden:

Sub OptGruppe1_Click()
Docmd.Openform „FormA“,Me!OptGruppe1
End Sub

Sub FormA_Load()
If not isNull(Me.Openargs) Then
Select Case Me.Openargs
Case 1 : Me.Recordsource =„Abfr1“
Case 2 : Me.Recordsource =„Abfr2“
Case 3 : Me.Recordsource =„Abfr3“
Case else : Me.Recordsource =„Tabelle1“
End Select
End If
End Sub

Gruß
Franz, DF6GL

Hallo Franz, Hallo Wolfgang,

vielen Dank für Eure Hilfe.
Ich habe im Formular Me.Recordsource …Me.Requery eingebaut. Die unterschiedlichen Abfragen funktionieren jetzt auch. Nur das im Formular befindliche Listenfeld wird nicht aktualisiert. Das Listenfeld bezieht die Daten wie folgt: SELECT qryAdressdaten_BSZ.IDNr, qryAdressdaten_BSZ.Suchbegriff FROM qryAdressdaten_BSZ ORDER BY qryAdressdaten_BSZ.Suchbegriff;

Wie bekomme ich es hin, dass das Listenfeld auch mit aktualisiert wird?

Nochmals vielen Dank

Herzliche Grüße
Harald

Moin Moin,

Wie bekomme ich es hin, dass das Listenfeld auch mit
aktualisiert wird?

genau so wie auch das Formular …

Me.Listenfeld.requery

Grüße aus Rostock
Wolfgang
(Netwolf)