Frage: Ist es möglich, eine globale Variable als
Kriterium für eine Abfrage anzugeben? Wenn ja, in welcher
Form muss diese Variable dort erscheinen?
In „Abfrage“ als DB-Objekt wohl nicht.
In VBA dann aber z.B.:
dim rs as recordset
set rs = currentdb.openrecordset(„SELECT … WHERE ID=“ & GlobalVariable & „;“)
In den Klammern also das SQL-Statement Deiner Abfrage, wobei in der WHERE-Klausel Deine globale Variable zum Einsatz kommt.
Frage: Mit welcher Methode/Eigenschaft kann man abfragen,
ob ein
Formular geöffnet ist?
Diese Funktion z.B. als Modul hinterlegen:
Function IsOpenForm(FormName As String) As Boolean
IsOpenForm = IIf(SysCmd(acSysCmdGetObjectState, acForm, FormName) = acObjStateOpen, True, False)
End Function
An zu prüfender Stelle dann:
If IsOpenForm(„DeinForm“) then
'mach was
End If
Hallo Stefan,
danke für Deinen Tipp, den ich ausprobiert habe.
Bei Eingabe des Kriteriums (aus Deinem Beispiel) „=fMeineVariableAbfrage“ in der Abfrage
wird jedoch nach dem Wort „fMeineVariableAbfrage“ gesucht.
Wie kann ich dies verhindern bzw. wie kann
ich die Funktion aufrufen?
muss natürlich
…In der Abfrage dann als Kriterium fMeineVariableAbfrage() (ohne = Zeichen und mit dem Klammerpaar)eingeben…
heissen.
fMeineVariableAbfrage ist übrigens ein willkürlich gewählter begriff der natürlich durch irgendwas anderes ersetzt werden kann (überall wo er vorkommt)
Hallo Stefan,
danke für den neuen Hinweis, den ich befolgt habe.
Es erfolgt zwar jetzt ein Versuch, die Funktion aufzurufen, jedoch
erscheint die Fehlermeldung
Undefinierte Funktion „fMeineVariableAbfrage“ in Ausdruck.
Die Funktion habe ich unter Module/Allgemein gespeichert.
Ist diese Funktion möglicherweise woanders einzugeben?
Danke für Tipps. MfG.
Was folgt ist der Inhalt eines Moduls (egal wie das heisst; nennen wir es mal einfach „mdlGlobaleVariable“ das
Eine globale Variable definiert
und
diese in einer Funktion abfragt
…schnipp…
Option Compare Database
Option Explicit
Global gvarBenutzerID As Integer
Public Function gfgvarBenutzerID()
gfgvarBenutzerID = gvarBenutzerID
End Function
…schnapp…
Global gvarBenutzerID As Integer
kann im Zweifel auch
Global gvarBenutzerID
sein, dann ist er Wert ein Variant
usw.
Das entsprechende Kriterium in der Abfrage ist dann natürlich
…schnipp…
gfgvarBenutzerID()
…schnapp…
Voraussetzung für das Funktionieren ist natürlich, dass irgendwo in den unendlichen Weiten der Datenbank der Variablen ein Wert zugewiesen wurde (in der Art: gvarBenutzerID=Me!MeinFeldMitDerIDDesBenutzers )
und dass der Datentyp stimmt.
habe das Problem inzwischen gefunden und bereinigt. Es lag daran, dass
ich das Klammernpaar als Bezeichnung der Funktion (im Register
Module) nicht angegeben hatte.