PDA

Vollständige Version anzeigen : Formular öffnen und Variablen mitgeben


Fred vom Jupiter
22.01.2008, 15:31
Hallo,

ich öffne über DoCmd.OpenForm stDocName, , , stLinkCriteria ein Formular. Dieses Formular enthält ein ActiveX-Objekt. Dieses Objekt lässt sich über diverse Parameter steuern.

Z.B. CRViewer.EnableExportButton = False

Da ich die Eigenschaften dynamisch steuern will, würde ich für False gerne eine Variable nehmen.

Kann ich bei der OpenForm-Methode Variablen mitgeben oder muß ich doch mit globalen Variablen arbeiten?

Variablen mitgeben fände ich eleganter.

Gruß
Marco

Lanz Rudolf
22.01.2008, 15:34
Hallo
Kennst Du OpenArgs ?
Syntax von OpenForm
OpenForm(Formularname, Ansicht, Filtername, Bedingung, Datenmodus, Fenstermodus, Öffnungsargumente)
Also Parameter 7
Das kann man dann im Formular z.B. beim öffnen abfragen

ein kleines Bsp.
'’ Aufruf
DoCmd.OpenForm stDocName, , , stLinkCriteria, , , "Mut"
’ Beim Laden des Formulars
Dim strOpenArgs As String ’Global für dieses Formular
Private Sub Form_Load()
strOpenArgs = Me.OpenArgs
Select Case strOpenArgs
Case "Neu"
Me.Caption = "Adresse (NEU)"
Case "Mut"
Me.Caption = "Adresse (Mutieren)"
Case "Kop"
Me.Caption = "Adresse (Kopiert)"
Case Else
End Select
End Sub

Fred vom Jupiter
22.01.2008, 15:36
Hallo
Kennst Du OpenArgs ?

Hy,

nein. Was ist das?

Gruß
Marco

Fred vom Jupiter
22.01.2008, 15:40
Hy,

habe in der Hilfe nachgesehen. Aber mit OpenArgs kann ich nur einen Wert mitgeben, oder?

CU
Marco

Lanz Rudolf
22.01.2008, 15:43
Hallo
Ich war zu langsam mit schreiben schau noch mal in #2

Fred vom Jupiter
22.01.2008, 15:46
Ich war auch zu schnell. :-)

Aber danke!

Aber nochmals meine Frage, es läßt sich dabei nur ein Wert mitgeben, oder?

Und den auch nur als String?

Gruß
Marco

ebs17
22.01.2008, 16:20
Du kannst aber im OpenArgs-String einen verketteten Ausdruck (= mehrere Werte) übergeben, der dann im Formularereignis entsprechend ausgewertet wird.

Fred vom Jupiter
22.01.2008, 16:28
Ja, das schwebte mir auch schon vor.

Aber dann erledige ich es doch über globale Variablen. Macht das ganze doch übersichtlicher und leichter zu lesen.

Gruß
Marco

Lanz Rudolf
22.01.2008, 16:53
Hallo
Ich habe gedacht Du möchtes das Beim OpenForm machen
doch ich würde es ev. auch mit Globalen (Public) Variablen machen

ebs17
22.01.2008, 17:00
Hallo Marco,

besser zwei Wege als gar keinen.