[gelöst] OnLookup-Problem

15. Dezember 2006 13:02

Hallo!

Ich hab da ein Problem...

Ich setze einen Filter für die "Customer List" und möchte nun einen Eintrag aus dieser Liste anwählen, die "Debitor No." soll dann in das Feld der aufrufenden "Form" geschrieben werden.

Wenn ich keinen Filter setze, dann funktioniert das wunderbar.

Sobald ich aber die Datensätze mit "SpotlightTeilnehmer = TRUE" filtere, kann ich in der "Customer List" zwar anklicken, aber die Liste bleibt offen und das Feld in der "Form" wird nicht gefüllt.

Was mache ich denn da falsch?

Bilder sagen mehr als Worte:

Hier klicken, um das Bild anzuzeigen

[Übergroße Bilder bitte nur per [url] verlinken und nicht per [img] einbetten. Danke! Gruß, Timo Lässer]
Zuletzt geändert von LuH am 15. Dezember 2006 13:38, insgesamt 1-mal geändert.

15. Dezember 2006 13:08

Wenn das ohne Filter funktioniert, dann setze einmal vor dem Debitor.SETCURRENTKEY... ein Debitor.RESET;

15. Dezember 2006 13:11

Nope, das hat nicht geholfen.

Ich dachte, das "Reset" ist nur um evtl. gesetzte Filter zu entfernen.

15. Dezember 2006 13:25

Meiner Meinung nach müsste der Code folgendermassen aussehen (die Lookup-Form vorher als Variable deklariren);

Code:
Debitor.SETCURRENTKEY...;
Debitor.SETRANGE...;
Form.LOOKUPMODE(TRUE);
Form.SETTABLEVIEW(Debitor);

IF Form.RUNMODAL = ACTION::LookupOK THEN BEGIN
  Form.GETRECORD(Debitor);
  Feld := Debitor."No.";
  MODIFY;
END;

15. Dezember 2006 13:37

Super!

Danke und mit einem "CLEAR(Form);" wirds rund.

Code:
    Debitor.RESET;
    Debitor.SETCURRENTKEY(Debitor."No.");
    Debitor.SETRANGE(Debitor.SpotLightsTeilnehmer, TRUE);
   
    CLEAR(DebitorÜbersicht);

    DebitorÜbersicht.LOOKUPMODE(TRUE);
    DebitorÜbersicht.SETTABLEVIEW(Debitor);

    IF DebitorÜbersicht.RUNMODAL = ACTION::LookupOK THEN BEGIN
       DebitorÜbersicht.GETRECORD(Debitor);
       DebitorNr := Debitor."No.";
       MODIFY;
    END;