Cursor auf bestimmtes Feld setzen

25. Juli 2008 08:37

Hallo,

ich habe eine Form gebastelt, die einen Datensatz beinhaltet.
Beim Eintragen der Artikelnummer überprüfe ich, ob der Artikel Seriennr-pflichtig ist oder nicht.
Wenn ja, dann wird das Feld "Seriennr." angezeigt, wenn nicht, das Feld Menge.

Codemäßig schaut das folgendermaßen aus:

Code:
CurrForm.ItemNoField.EDITABLE(NOT ShowSerialNo);
CurrForm.QuantityField.VISIBLE(NOT ShowSerialNo);
CurrForm.SerialNoField.VISIBLE(ShowSerialNo);

IF ItemNoG <> '' THEN BEGIN
  IF ShowSerialNo THEN
    CurrForm.SerialNoField.ACTIVATE
  ELSE
    CurrForm.QuantityField.ACTIVATE;
END ELSE
  CurrForm.ItemNoField.ACTIVATE;


Eigentlich sollte beim Eintragen der Artikelnr. der Cursor in das Feld Seriennr bzw. Menge springen. Das macht er aber nicht.
Der Cursor springt immer zum "Abbrechen"-Button.

Nextcontrol ist leer. Das habe ich schon getestet. Es funktioniert nicht.

Kann mir jemand von Euch helfen bzw. trat das Problem schon mal auf?

Viele Grüße,
Jürgen

25. Juli 2008 11:24

Hallo.

Also in "Nextcontrol" müsste die ID des nächsten Feldes sein, in welches Du springen willst. (Du schreibst ja Nextcontrol ist leer)
(Hoffe ich hab das jetzt richtig verstanden)

-Martin

25. Juli 2008 11:48

Hallo Martin,

danke für Deine Antwort. Das Nextcontrol bringt nur etwas, wenn ich die Funktion "Activate" nicht benutze.

Da ich nach dem Validate auf ein Feld in unterschiedliche Felder (je nach Datensatz) springen möchte, kann ich nicht mit dem Feld "Nextcontrol" arbeiten.

Viele Grüße,
Jürgen

28. Juli 2008 08:27

Hallo,

ich habe bei diesem Problem (allerdings in 3.70) Dummy-Controls angelegt (z.B. eine horizontale Linie). Dies befindet sich VOR dem Feld das ich aktivieren möchte.


IF ((branche.Privat) OR (branche.Behörde)) THEN
CurrForm.dummy1.ACTIVATE;


Unter 3.70 zumindest funktioniert das.