ich denke so annähernd hab ich verstanden, was du da geschieben hast.
ich hab das jetzt auf mich angepasst und das ganze sieht jetzt so aus:
Delphi-Quellcode:
procedure Tfrmdata.dsauftragDataChange(Sender: TObject; Field: TField);
begin
//showmessage(inttostr(frmdata.tbstatus.FieldValues['farbe']));
//frmmain.Panel1.Color:=frmdata.tbstatus.FieldValues['farbe'];
if Field.FieldName='Status' then
begin
Assert(tbstatus.Active);
if tbstatus.Locate('status', Field.Value,[]) then
begin
if tbstatus.FindField('farbe') = nil then
ShowMessage('Feld farbe nicht vorhanden!'#13#10+
tbstatus.FieldList.Text); // alle vorhandenen Felder anzeigen
// Suche war erfolgreich, also Farbe übernehmen
frmmain.Panel1.Color:=tbstatus.FieldByName('farbe').asinteger;
end
else
frmmain.Panel1.Color:=0;
end;
end;
allerdings bekomme ich am Anfang bei
if Field.FieldName='Status' then
ne Zugriffsverletzung.