Ich habe ein Formular mit einem UFO, welches seinerseits auf ner Abfrage "abf1" basiert. (diese filtert)
In dem UFO werden Datensätze angezeigt. Nun sollen mit einem passwd-geschützten Button einige zusätzliche Datensätze eingeblendet werden.
Ich möchte im Formular einen Button, der entweder die Abfrage des UFOS wechselt (z.b. von "abf1" auf "abf2") oder der in "abf1" ein Kriterium auf "falsch" setzt.
Was wäre einfacher? Gibt es Vorschläge für VBA-code, der das am einfachsten kann?
Carl
Hallo,
ohne die Konzeption zu kennen, kannst Du dem Unterform entweder eine neue Recordsource
Me!UFO_Steuerelementname.Form.Recordsource ="abf2"
oder einen SQL-String
Select * from Tabelle1 where boolFeld1 = true
zuweisen.
Als andere Möglichkeit bietet sich (hier) auch die Filter-Eigenschaft an:
Me!UFO_Steuerelementname.Form.Filter = "boolFeld1 = true"
Me!UFO_Steuerelementname.Form.FilterOn = True
sofern das Feld "Feld1" in der zugrundeliegenden Abfrage vorkommt.
Danke für Deine Antwort. Ich würde gern die Lösung mit der recordsource verwenden, weil ich ansonsten schon viele formularbasierte Filter verwende.
Me!UFO_Steuerelementname.Form.Recordsource ="abf2"
Also das schaltet einfach die zugrundeliegende Abfrage auf eine andere um.
Also ein Button, bei Klicken diese Umschaltung. Gibt es irgendwelche andere formularbasierten Aktionen, die das unter Umständen aufheben würden?
Gibt es bei dieser Lösung bekannte Nachteile?
VG Carl
Hallo,
verstehe die Fragen nicht...
Wenn die Recordsource geändert ist, ist das halt so und das Form zeigt die entspr. Daten an.
ZitatGibt es irgendwelche andere formularbasierten Aktionen, die das unter Umständen aufheben würden?
Das musst Du doch selber wissen, was für Aktionen eingebaut (programmiert) sind.
ZitatGibt es bei dieser Lösung bekannte Nachteile?
"Nachteile" ist in diesem Kontext relativ. An was denkst Du denn?
ich denke er meint ähnlich wie bei filtern, was der User unter Umständen abschalten könnte.
Nein, Recordsource ist die Datenquelle, und nichts und niemand ändert das außer du per Code
Genau, ich möchte einen Button haben, der geklickt bleibt. Also aktiviert bleibt. Geht sowas? Also wenn er aktiviert ist, wird eine zweite recordsource verwendet, wenn nicht, dann nicht.
Wie heißt ein Button, der nach dem erstmaligen anklicken "geklickt" bleibt und beim zweimaligen Klicken "geunklickt" bleibt?
Carl
Hallo,
das ist die "Umschaltfläche".
Aber da kannst Du auch einen ganz normaln Button verwenden.
Beim 1.Klicken Abfrage1 beim 2.Klicken Abfrage2 als Datenquelle. Immer immer Wechsel.
Zitatoder der in "abf1" ein Kriterium auf "falsch" setzt.
Da kannst Du auch einfach filtern.
Private Sub Konzept_workorders_einblenden_Click()
Me!UFfrmworkorderUFO.Form.RecordSource = "abfworkorder_mit"
End Sub
entleert das gesamte Unterformular. Es wird kein einziger Datensatz mehr angezeigt, obwohl "abfworkorder_mit" normal funktioniert. Und auch nach dem schließen und neu starten der DB bleibt das Fenster leer.
Was könnte da falsch laufen?
(Es soll die zugrundeliegende Abfrage geändert werden, nicht die Filter, weil das Formular schon anderweitig umfangreich gefiltert wird über mehrere Optionen.)
Ich habs heraus bekommen. Wenn man die Funktion ausführt, wird automatisch die Bindung von HF zu UF auf ID:ID gesetzt und weil ich aber ID:fremdID verwende, bleibt das Formular weiß. Übrigens auch nach dem Schließen.
Carl
Hallo Carl,
Vielleicht liest du dir zur Vertiefung mal dieses durch: http://www.donkarl.com?FAQ4.8 (http://www.donkarl.com?FAQ4.8)
gruss ekkehard
Danke