Abfrage ob ein Button nicht geklickt wurde.

8. Januar 2008 14:01

Gibt es die Möglichkeit eine Abfrage zu machen ob ein Button geklickt wurde oder nicht?

Ich möchte das ein Feld nur geändert wird wenn ein Button geklickt wurde. Ich habe das zur Zeit so gelöst das dieses Feld Editable = False ist. Wenn ein Button geklickt wird, wird dieses auf True gesetzt und ein anderer Button erscheint. Jetzt soll dieses Feld nur geändert werden können wenn dieser neue Button geklickt wird. Sobald das Feld aber Editable = True ist und ich darin was änder und dann mit den Pfeilen im Menü zum nächsten Datensatz springe, oder die Karte schließe dann wird dieses Feld trotzdem geändert.

Jemand nen Ansatz für mich?

8. Januar 2008 14:11

Du klickst auf den ersten Button und die Textbox wird editierbar. Dann soll man auf den zweiten Button klicken und soll erst dann in die Textbox was eintragen können? Hab ich das richtig verstanden?

8. Januar 2008 14:15

Nein. Sobald man auf den ersten Button klickt wird die Textbox ja editierbar. Sprich man kann da schon was reinschreiben. Aber der Inhalt soll sich erst richtig ändern dürfen (Modify) wenn der zweite Button geklickt wird.

Gibt ja zum Beispiel die Möglichkeit von nem Fielderror. Dieser gibt ja eine Meldung aus wenn die Abfrage davor zutrifft und setzt den alten Wert wieder zurück. Sowas in der Art stell ich mir vor.

Code:
//Pseudocode
IF Button <> clicked THEN
Fielderror('Klicken Sie den Button');

8. Januar 2008 14:35

Okay. Die Eingabe in dem Feld wird ja erst gespeichert, wenn der Datensatz verlassen wird. Du könntest im OnPush-Trigger des zweiten Buttons folgenden Code reinstellen:

Code:
ButtonPushed:=TRUE;

Im OnModifyTrigger der Form folgenden Code:

Code:
IF Textbox <> xRec.Textbox THEN
  IF NOT ButtonPushed THEN
    ERROR('Klicken Sie den Button!');

ButtonPushed:=FALSE

ButtonPushed ist hier eine globale Boolean-Variable.

Das ganze könnte ich mir so vorstellen. Jedoch weiß ich nicht genau, ob es dass ist was du willst und ob es wirklich funktioniert. ;-)

Gruß, Marc

8. Januar 2008 14:37

Deklariere auf deiner Form eine globale Variable namens (z.B.) geklickt.
Initialisiere (z.B. in OnNextRecord-Trigger ) diese Variable auf FALSE (beim erstmaligen Formaufruf ist diese Variable ohnehin FALSE).

Hinterlege im Butten-OnPushTrigger ein geklickt := TRUE;
Das kannst du dann abfragen.

8. Januar 2008 14:38

Jo, der Marc war mal wieder schneller ;-)

8. Januar 2008 14:52

Natalie hat geschrieben:Jo, der Marc war mal wieder schneller ;-)

So isser - der Marc. :-)