Feld unabhängig vom Datentyp leeren

12. März 2012 10:42

Hallo zusammen,

kennt jemand eine Methode, um ein Tabellenfeld unabhängig vom Feldtyp zu leeren?

Am liebsten würde ich das mit FieldRef machen, aber so etwas wie CLEAR(FieldRef.VALUE) funktioniert nicht.

Ansonsten würde ich mir eine Funktion bauen, der man den FRef.Type übergibt und den passenden Leer-Wert zurückgibt. Hätte jetzt aber eigentlich gedacht, dass es sowas systemseitig schon gibt.

Edit: Das mit der Funktion hatte ich mir wohl auch zu einfach vorgestellt. Ich kann ja die Rückgabevariable keinen dynamischen Typ zuweisen. Dann würde ich glaube ich eher die FieldRef-Variable als Var übergeben und in der Funktion den Wert zuweisen.


Edit2: Sieht das gut aus? Es funktioniert jedenfalls:


ClearFieldValue(VAR Fref : FieldRef)
Code:
CASE FORMAT(Fref.TYPE) OF
  'Time' : Fref.VALUE := 0T;
  'Date' : Fref.VALUE := 0D;
  'Text' : Fref.VALUE := '';
  'Code' : Fref.VALUE := '';
  'Boolean' : Fref.VALUE := FALSE;
  'Decimal' : Fref.VALUE := 0;
  'Integer' : Fref.VALUE := 0;
  'Option' : Fref.VALUE := 0;
  'DateTime' : Fref.VALUE := 0DT;
END;

Re: Feld unabhängig vom Datentyp leeren

12. März 2012 14:08

Wenn es funktioniert ist doch ok. Ich hätte allerdings ein paar Werte zusammengefasst. UNgetestet:
InfoWissler hat geschrieben:ClearFieldValue(VAR Fref : FieldRef)
Code:
CASE FORMAT(Fref.TYPE) OF
  'Time' : Fref.VALUE := 0T;
  'Date' : Fref.VALUE := 0D;
  'Text','Code' : Fref.VALUE := '';
  'Boolean' : Fref.VALUE := FALSE;
  'Decimal','Integer','Option' : Fref.VALUE := 0;
  'DateTime' : Fref.VALUE := 0DT;
END;