Variable als formularname nehmen

moin!
wenn ich eine routine in einem globalen modul aufrufe, möchte ich eine variable als formularname verwenden. dies ist wichtig, da die routine von mehreren formularen aus aufgerufen werden kann und immer das aktuelle formular verwendet werden soll.
die variable kriegt ihren wert in dem formular in dem die routine aufgerufen wird. das wird auch richtig über eine msgbox angezeigt die die variable ausgibt. ich möchte also

Public Sub MakeSQLLS()
Krit = „“
MsgBox GblName
If Not IsNull(GblName.Hersteller) Then
Krit = Krit & " AND Hersteller LIKE ‚" & GblName.Hersteller & "*‘"

ausführen. und in GblName steht Form_FormularnamevonFormular.

wenn ich es so verwende:

If Not IsNull(Form_FormularnamevonFormular.Hersteller) Then
Krit = Krit & " AND Hersteller LIKE ‚" & Form_FormularnamevonFormular.Hersteller & "*‘"

dann funktioniert es. wenn ich es mit der variablen mache, kommt der fehler:

Laufzeitfehler 4242, objekt erforderlich

was kann das sein?

N’abend,

wenn ich eine routine in einem globalen modul aufrufe, möchte
ich eine variable als formularname verwenden. dies ist
wichtig, da die routine von mehreren formularen aus aufgerufen
werden kann und immer das aktuelle formular verwendet werden
soll.

aktuelles Formular = Me.name

also ME. symbolisiert immer das aktuelle Formular

somit wäre folgende Variante möglich:

If Not IsNull(Me.Hersteller) Then
Krit = Krit & " AND Hersteller LIKE ‚" &
Me.Hersteller & "*‘"

als Variable:

Dim FormVar as Form
FormVar = Forms!Meinform

If Not IsNull((Formvar).Hersteller) Then
Krit = Krit & " AND Hersteller LIKE ‚" &
(FormVar).Hersteller & "*‘"

Grüße aus Schwerin
Wolfgang
(Netwolf)

Wenn, dann wohl eher:

Dim F as Form, FrmName as string
FrmName = "DeinFormular" ' ohne "Form\_"
Set F = Forms(FrmName)
If Not IsNull(F!Hersteller) Then
 Krit = Krit & " AND Hersteller LIKE '" & F!Hersteller & "\*'"
end if

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)