[gelöst] Customer.GET mit Hilfe RecordRef/RecID geht schief

21. Februar 2008 21:55

Hallo zusammen,

ich habe folgendes Problem:


BEGIN
RecID := Table."Datensatznr.";
RecRef.OPEN(RecID.TABLENO);
RecRef.GET(RecID);
IF Customer.GET(RecRef.FIELD(2)) THEN
Feldinhalt := Customer.Name;

Der Debugger zeigt "Break on Error" in der IF Anweisung.
Inhalt der RecID = Issued Reminder Header: MR-12839

Der RecordRef ist ebenfalls richtig gefüllt.

Es gibt sowohl den Datensatz in der Tabelle Issued Reminder Header, als auch den entsprechenden Customer in der Tabelle Customer.
Feldinhalt ist der Rückgabewert der Funktion, ein Textfeld mit der Länge 1024. Das Feld Customer.Name ist ebenfalls ein Textfeld mit 50 Zeichen.

Ich finde keinen Fehler... :-(

Vielen Dank im Vorraus für Eure Bemühungen.
Zuletzt geändert von any1 am 22. Februar 2008 11:43, insgesamt 1-mal geändert.

22. Februar 2008 10:15

Hallo any,

RecRef.FIELD(2) gibt eine Variable vom Typ FieldRef zurück. Du müsstest also
Code:
RecID := Table."Datensatznr.";
RecRef.OPEN(RecID.TABLENO);
RecRef.GET(RecID);
FldRef := RecRef.FIELD(1); // Feld 1 = No., 2 = Name

IF Customer.GET(FldRef.VALUE) THEN
  Feldinhalt := Customer.Name;


schreiben und anstatt FIELD(2), was Name ist, FIELD(1) benutzen (No.).

22. Februar 2008 11:43

Der Fehler lag einfach darin, daß die Zeile

IF Customer.GET(RecRef.FIELD(2)) THEN

um ein Format ergänzt werden mußte.

Trotzdem Danke für Deine Hilfe :-)