Hallo zusammen,
bei dem Formular Open Commando kann man doch Argumente mit übergeben, wie funktioniert das genau? Kann man auch mehrere Argumente übergeben und wie fragt man diese beim Öffnen des Formulars ab?
Danke und Gruß Dieter
Im aufrufenden Formular:
Dim stDocName As String
Dim stOpenArgs as String
stDocName = "frmTest"
stOpenArgs = "Wert1, Wert2"
DoCmd.OpenForm stDocName,acNormal, , , , , , stOpenArgs
im aufgerufenen Formular
Private Sub Form_Open(Cancel As Integer)
Dim strOpenArgs as string
Dim strWert1 as string
Dim strWert2 as string
Dim intPos as integer
If Me.OpenArgs > "" Then
strOpenArgs = Me.OpenArgs
intPos = Instr(1,strOpenArgs,",",,vbTextCompare)
' Wert1 vor dem Komma
' Wert2 nach dem Komma
strWert1 = left$(stOpenArgs, intpos -1)
strWert2 = right$(strOpenArgs,len(strOpenArgs) - intPos -1)
End If
End Sub
Die Werte werden in einer einzigen Variable übergeben, der Typ ist String.
Im aufgerufenen Formular kann man diesen Übergabestring aus Me.OpenArgs wieder entnehmen und ggf. auseinanderpflücken.
Danke Shai,
das heißt ich kann eigentlich so viele Argumente übergeben wie ich brauche, ich muss nur darauf Achten, dass Sie in einem String sind und ich die einzelnen Argumente durch ein Zeichen trenne damit ich diese wieder Splitten kann.
Danke auch für dein Codebeispiel.
Gruß Dieter