Elite Veteran
Beiträge: 868
Ort: Wien | Hallo!
HQbauer
ich habe einen Bericht der sich in der Daten herkunft auf einen Wert aus einem Formular bezieht. Wenn ich diesen Bericht nun aus einem anderen Formular öffnen möchte muss ich dann alles kopieren (Bericht und Abfragen) und auf das 2. Formular einstellen oder besteht die Möglichkeit das man variabel aus 2 Formularen den Parameterwert übergeben kann?
Dafür gibt's verschiedene Lösungen. Eine davon ist eine kleine VBA-Funktion in einem Standardmodul nach diesem Muster:
Public Function fctParam() As String
If CurrentProject.AllForms("Formular1").IsLoaded Then
fctParam = Forms!Formular1!DeinFeld
Else
fctParam = Forms!Formular2!DeinFeld
End If
End Function
In der Abfrage verwendest du dann als Kriterium: fctParam()
Das wäre eine Variante, die funktioniert, wenn nicht beide Formulare gleichzeitig geöffnet sind. Das kann man variieren und z.B. das aktuelle Formular nehmen (Screen.ActiveForm), oder prüfen welches Steuerlement gerade einen Wert hat etc.
Notfalls kann man auch eine globale Variable mit ins Spiel bringen nach dem Muster von http://www.donkarl.com?FAQ3.15
Es gäbe auch noch eine lustige Trixerei ohne VBA mit Eval(), aber vielleicht passt schon eine der o.a. üblichen Varianten für deinen Fall.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek - Jetzt anmelden für 19./20.10. in Nürnberg
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |