- #1
P
pampel
Aktives Mitglied
Themenersteller
- Dabei seit
- 09.04.2003
- Beiträge
- 27
- Reaktionspunkte
- 0
Hallo zusammen,
in einer Datenbankanwendung möchte ich das Kalendersteuerelement (KSE) an zentraler Stelle verwenden. Es soll von verschiedenen Feldern in verschiedenen Formularen aufgerufen werden. Im KSE wird ein Datum ausgewählt und beim Schließen des KSE-Formulars in das aufrufende Feld eingetragen.
Für *ein* Formular funktioniert das auch wunderbar. Doch wie kann ich das->elegant' für beliebige Aufrufe erweitern?
Ich habe folgende Erweiterung des funktionierenden Aufrufs ausprobiert:
OnClick-Ereignis des aufrufenden Feldes:
...
strFormular = Me.Name
strFeld = ActiveControl.Name
strOpenArgs = strFormular & , & strFeld
DoCmd.OpenForm forKalender, OpenArgs:=strOpenArgs
Im KSE-Formular (Form_Open-Ereignis):
...
arrTemp() = Split(Me.OpenArgs, ,)
strFormular = arrTemp(0)
strFeld = arrTemp(1)
Im KSE-Formular (Form_Close-Ereignis):
Forms(strFormular).Controls(strFeld) = Me!acxKalender.Value
Der Debugger meldet nun:
Laufzeitfehler 13: Typen unverträglich und zeigt dies für die Zeile
arrTemp() = Split(Me.OpenArgs, ,)
an. arrTemp ist über
Dim arrTemp() as String
als globale Variable definiert.
Geht das überhaupt, dass ich über OpenArgs mehrere Werte übergebe und dann über die Split-Funktion wieder von einander trenne? Oder liegt der Fehler irgendwo anders?
Danke für Hinweise.
Gruß,
Stefan
in einer Datenbankanwendung möchte ich das Kalendersteuerelement (KSE) an zentraler Stelle verwenden. Es soll von verschiedenen Feldern in verschiedenen Formularen aufgerufen werden. Im KSE wird ein Datum ausgewählt und beim Schließen des KSE-Formulars in das aufrufende Feld eingetragen.
Für *ein* Formular funktioniert das auch wunderbar. Doch wie kann ich das->elegant' für beliebige Aufrufe erweitern?
Ich habe folgende Erweiterung des funktionierenden Aufrufs ausprobiert:
OnClick-Ereignis des aufrufenden Feldes:
...
strFormular = Me.Name
strFeld = ActiveControl.Name
strOpenArgs = strFormular & , & strFeld
DoCmd.OpenForm forKalender, OpenArgs:=strOpenArgs
Im KSE-Formular (Form_Open-Ereignis):
...
arrTemp() = Split(Me.OpenArgs, ,)
strFormular = arrTemp(0)
strFeld = arrTemp(1)
Im KSE-Formular (Form_Close-Ereignis):
Forms(strFormular).Controls(strFeld) = Me!acxKalender.Value
Der Debugger meldet nun:
Laufzeitfehler 13: Typen unverträglich und zeigt dies für die Zeile
arrTemp() = Split(Me.OpenArgs, ,)
an. arrTemp ist über
Dim arrTemp() as String
als globale Variable definiert.
Geht das überhaupt, dass ich über OpenArgs mehrere Werte übergebe und dann über die Split-Funktion wieder von einander trenne? Oder liegt der Fehler irgendwo anders?
Danke für Hinweise.
Gruß,
Stefan