Forum: Datenbanken
Delphi
by buyden,
7. Mär 2005
Hi nochmal,
mittlerweile hab ich das Problem auch selbst gelöst. Offenbar kann man in den Ereignissen einer datasource nur auf die Felder der dazugehörigen Tabelle zugreifen.
ich hab das Ganze jetzt über eine OnChange-Prozedur auf einem DBEdit, das mit der Statustabelle verbunden ist, gelöst - funzt genau wie ich das wollte.
:coder2:
DFN :twisted:
Forum: Datenbanken
Delphi
by buyden,
1. Mär 2005
Hat denn keiner ne Idee, wie ich es sonst umsetzen kann, dass bei einer Änderung des Datensatzpointers die Farbe eines Panels verändert wird, wie sie in der Datenbank festgelegt ist?? :wall:
Forum: Datenbanken
Delphi
by buyden,
26. Feb 2005
hat denn jemand ne ahnung, warum der Fehler auch in nem ttable.afterpost-ereignis kommt, da wird ja nun kein field übergeben.
auf andere Felder kann ich in der gleichen Prozedur problemlos zugreifen.
procedure Tfrmdata.tbauftragAfterPost(DataSet: TDataSet);
begin
frmmain.statusbar1.panels.text:=inttostr(tbauftrag.RecordCount)+ ' Datensätze';...
Forum: Datenbanken
Delphi
by buyden,
24. Feb 2005
also mit dem code bekomme ich erstmal keine Fehlermeldung,
procedure Tfrmdata.dsauftragDataChange(Sender: TObject; Field: TField);
begin
if Assigned(Field) then
if Field.FieldName='Status' then
begin
Assert(tbstatus.Active);
if tbstatus.Locate('status', Field.Value,) then
Forum: Datenbanken
Delphi
by buyden,
24. Feb 2005
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:
procedure Tfrmdata.dsauftragDataChange(Sender: TObject; Field: TField);
begin
//showmessage(inttostr(frmdata.tbstatus.FieldValues));
//frmmain.Panel1.Color:=frmdata.tbstatus.FieldValues;
if Field.FieldName='Status' then
begin
Forum: Datenbanken
Delphi
by buyden,
24. Feb 2005
Huh :shock:
so aufwendig hatte ich mir das nicht vorgestellt. ich werd das mal durchdenken und testen und meld mich dann nochmal.
erstmal dank an euch.
Forum: Datenbanken
Delphi
by buyden,
24. Feb 2005
@shmia
ich komm jetzt mit deiner Aussage grad nicht ganz klar. :gruebel:
Der Sinn meiner Prozedur ist es, wenn sich in einem bestimmten Feld der tabelle auftrag etwas ändert, soll die Farbe des Panels, die in der verknüpften Tabelle status steht, geändert werden.
Forum: Datenbanken
Delphi
by buyden,
24. Feb 2005
procedure Tfrmdata.dsauftragDataChange(Sender: TObject; Field: TField);
begin
showmessage(inttostr(frmdata.tbstatus.FieldValues));
//frmmain.Panel1.Color:=frmdata.tbstatus.FieldValues;
end;
keine Veränderung, auch mit ".fieldbyname" geht's nicht.
Forum: Datenbanken
Delphi
by buyden,
24. Feb 2005
Hi,
Ich habe einen für mich nicht erklärbaren Effekt bei einer Prozedur in einem Datamodule.
Ich habe versucht in dem OnDataChange-Ereignis einer Datasource einen Wert aus einer, von der Datasource unabhängigen Tabelle auszulesen. Beim Compilieren bekomme ich aber jedesmal ne Fehlermeldung, das das Feld nicht gefunden werden konnte. :gruebel: Das Feld existiert aber definitiv.
Hat jemand...