PDA

Vollständige Version anzeigen : Ok Button!


zhon
28.03.2006, 10:07
Hallo!

Habe 4 Textfelder und einen Ok Button dieser soll aber nur funktionieren wenn man Werte in alle 4 Textfelder eingegeben hat.

Ist das möglich, wenn ja mit welchen Befehl.

Danke

dreamweaver
28.03.2006, 10:22
Versuchs mal so:

If me!Textfeld1 <> "" AND me!Textfeld2 <> "" AND me!Textfeld3 <> "" AND me!Textfeld4 <> "" then
Me!DeinButton.Enabled = true
end if

Anne Berg
28.03.2006, 10:23
Du könntest im Anfügemodus beim Verlassen jedes Textfeldes prüfen, ob alle gefüllt sind und die Enabled-Eigenschaft des Buttons entsprechend setzen. Beim Anzeigen vorhandener Datensätze kannst du diese Funktion zusätzlich noch im FormCurrent-Ereignis anstoßen.

PS:
Damit es keine Probleme mit nicht initialisierten Feldern (NULL-Value) gibt, empfehle ich folgende Abfrage:
If NZ(Me!Text01) &lt;> "" AND ...

zhon
28.03.2006, 14:44
<code>
Private Sub Form_Current()
If Nz(txtASpalte) <> "" And Nz(txtBSpalte) <> "" And Nz(txtAZeile) <> "" And Nz(txtBZeile) <> "" Then
BestätigungOK.Enabled = True
End If
End Sub

</code>

Privat sub form_ current ist das richtig den es funktioniert irgendwie nicht.

Danke

Smaug
28.03.2006, 14:53
Anne hat die Frage doch schon im Beitrag #3 beantwortet - oder ?!
Am besten Du hinterlegst den Code in eine einzige separate Prozedur und rufst die Prozedur aus jedem Textfeld beim Verlassen sowie zusätzlich beim Form_Current-Ereignis auf

zhon
28.03.2006, 15:08
Habe den code ja in Form_current drin nur wie soll ich das mit den Textfeldern machen.

Smaug
28.03.2006, 15:13
naja im Prinzip genauso wie im Form_Current. Aber wie gesagt am besten Du trägst den code in eine separate Prozedur ein:
Private Sub PruefeOKButton()
...der code aus #4
End Sub
Für das Formularereignis "Beim Anzeigen" sowie für die Steuerelement-Ereignisse "Beim Verlassen" (und zwar für alle betroffenen wie z.B. txtASpalte,txtBSpalte ....) muss dann nur noch PruefeOKButton als Code eingetragen werden.

Anne Berg
28.03.2006, 15:19
Am besten Du hinterlegst den Code in eine einzige separate Prozedur und rufst die Prozedur aus jedem Textfeld beim Verlassen sowie zusätzlich beim Form_Current-Ereignis aufDem ist eigentlich nichts hinzuzufügen, es sei denn, du weißt nicht, wie man eine allgemeine Funktion schreibt und wie man sie aufruft... :rolleyes:

zhon
28.03.2006, 15:44
Tut mir leid verstehe nur Bahnhof!

zhon
28.03.2006, 17:42
Danke hat funktioniert.