Hallo choose,
vielen Dank für den Tip mit FindField.
Scheint ja auch so eine Funktion zu sein, die kaum einer kennt. Google lieferte bei "FindField Delphi" nur einige wenige Einträge im deutschsprachigen Bereich (glücklicherweise steht auf den russischen Seiten der Quelltext nicht in Russisch da).
Zur Anwendung:
Code:
var
fld : TField;
begin
// ....
fld := Tab.FindField('Fax');
if Assigned(fld) and (fld.FieldNo > 0)
then fx := ''
else fx := fld.Value;
// ....
Die Abfrage
Code:
if Assigned(fld) // also ohne: and (fld.FieldNo > 0)
war ebenso funktionsfähig.
Von der Verwendung von
rate ich ab, da diese Abfrage bei vorhandenen aber leeren Felder and der Stelle
zu einem
Exception führte (zumindest in meinem Beispiel).
Statt fld.Value kann natürlich auch fld.AsString verwendet werden, man muß aber mehr ändern, wenn sich der Datentyp ändert.
mfg
eddy