Hallo,
aus einem Textfeld wird per doppelklick ein neues Formular (Kunde) geöffnet. Dann soll die Schaltfläche (1) nicht sichtbar sein.
Habe folgende vba geschrieben
Private Sub KurzzeichenKunde_DblClick(Cancel As Integer)
Const ZielFormular As String = "Kunde"
If IsNull(Me.KurzzeichenKunde) Then
DoCmd.OpenForm ZielFormular, DataMode:=acFormAdd
Else
DoCmd.OpenForm ZielFormular, , , BuildCriteria("KurzzeichenKunde", dbLong, Me.KurzzeichenKunde)
End If
Me![Kunde].[Schaltfläche].Visible = False
End Sub
Me![Kunde].[Schaltfläche].Visible = False
funktioniert nicht... :-\ hat jemand eine Idee ?
Hallo,
Private Sub KurzzeichenKunde_DblClick(Cancel As Integer)
If IsNull(Me.KurzzeichenKunde) Then
DoCmd.OpenForm "Kunde", DataMode:=acFormAdd
Else
DoCmd.OpenForm "Kunde", , , "KurzzeichenKunde =" & Me.KurzzeichenKunde
End If
Me.[Schaltfläche].Visible = False
End Sub
Me. ist das Formular, da braucht es nicht noch ein Form, bei "Me.KurzzeichenKunde" hast Du es richtig gemacht.
Die Konstante (Const) macht hier keinen Sinn und ist ersatzlos überflüssig.
Auf BuildCriteria kann hier auch verzichtet werden, schadet zwar nicht, ist aber in diesem einfachen Fall nicht notwendig.
Hallo Klaus,
danke für deine Nachricht. Allerdings funktioniert die Prozedur nun nicht mehr einwandfrei und das eigentliche Problem ist nicht gelöst. Ich lasse den ersten Teil so, wie ich ihn geschrieben hatte.
Const ZielFormular As String = "Kunde"
If IsNull(Me.KurzzeichenKunde) Then
DoCmd.OpenForm ZielFormular, DataMode:=acFormAdd
Else
DoCmd.OpenForm ZielFormular, , , BuildCriteria("KurzzeichenKunde", dbLong, Me.KurzzeichenKunde)
End If
Nun nochmal zum eigentlichen Problem
Aus einem ungebundenem Textfeld wird per Doppelklick ein neues Formular (Kunde) geöffnet (funktioniert einwandfrei).
Gleichzeitig soll in dem dann geöffnetem Formular die Schaltfläche [Schaltfläche] nicht sichtbar sein.
Me![Schaltfläche].Visible = False
Fehler:
Laufzeitfehler '2465':
(...) kann das in Ihrem Feld angesprochene Feld 'Schaltfläche' nicht finden.
???
Hallo,
nimm die Fehlermeldung wörtlich.
Allerdings funktioniert die Prozedur nun nicht mehr einwandfrei
Was funktioniert denn dann nicht?
PS:
Deine Signatur ist in der heutigen Zeit daneben und eher peinlich als lustig.
Hallo,
nach Öffnen des Formulars (Kunde) soll in diesem Formular die Schaltfläche [Schaltfläche] unsichtbar sein.
Das hat folgenden Grund:
Das Formular Kunde kann von mehreren Textfeldern per Doppelklick aufgerufen werden. Durch Klicken auf besagter Schaltfläche werden die Daten aus dem Formular Kunde in ein bestimmtes Formular eingefügt. Das soll allerdings nur möglich sein, wenn das Formular von einem bestimmten und nicht allen Textfeldern geöffnet wird. Deshalb soll die Schaltfläche beim Doppelklick von diesem Textfeld nicht sichtbar sein.
Hallo,
Du brauchst den vollen Formularbezug, hatte ich auch übersehen.
Also so:
Forms!Kunde.Form!Schaltfläche.Visible = False
Beachte Forms und Form und ! und .
Die Zuweisung der Konstante ist überflüssig.
Danke Klaus,
funktioniert. :) :)