Einzelnen Beitrag anzeigen

wk2001

Registriert seit: 13. Jan 2003
5 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Manuelles Speichern v. Daten in Paradox-Tabelle (mit TTa

  Alt 11. Jul 2007, 22:34
Danke erstmal für eure Antworten, nun habe ich folgendes seltsame Verhalten (hatte ich vorher sicher auch, nur nicht bemerkt).

Wenn ich den Button klicke, der die TEdit-Felder in die Tabelle eintragen soll, macht er das wohl. Aber trotz diverser Refreshs, Setzen der Active-Eigenschaft auf False und dann wieder auf True aktualisiert er zur Laufzeit nicht die Datensätze (dafür habe ich einen DBGrid)!

Wenn ich nun das Programm beende und in der Delphi IDE bei der TTable Komponente, mit der der DBGrid verbunden ist, die Eigenschaft Active auf False setze und anschließend wieder auf True, sind auf einmal die hinzugefügten Datensätze da!

Irgendwo habe ich wohl etwas nicht beachtet... Habt ihr eine Ahnung, was es sein könnte?

@marabu: ich habe keine master-detail beziehungen, sondern wie du sagtest, 2 forms, auf der einen habe ich den Grid mit eigener TTable-komponente zur kontrolle. und einen button, der eine zweite form aufmacht, auf welcher eine weitere TTable-Kompo ist und die besagten tedit-felder. ich mache aus dieser zweiten form auch einen refresh, aber er zeigt es dennoch nicht an..

@haentschman: danke für den hinweis das ist ein bug, aber hat mit der funktion nichts zu tun, weil beide felder benutzt werden...


Hier meine komplette button-click methode:
Delphi-Quellcode:
procedure TfrmEditArt.Button1Click(Sender: TObject);
begin
  Table1.Active := True;
  Table1.Append;

  Table1.FieldValues['ArtNr'] := edtArtNr.text;
  Table1.FieldValues['ArtBez1'] := edtArtBez1.text;
  Table1.FieldValues['ArtBez2'] := edtArtBez2.text;
  Table1.FieldValues['MwSt'] := FloatToStr(mwst);
  Table1.FieldValues['Nettopreis'] := edtPreisNetto.text;

  Table1.Post;
  Table1.Refresh;
  Table1.Active := false;

  frmMain.Table1.Active := false;
  frmMain.Table1.Active := true;
  frmMain.Table1.Refresh;
end;
  Mit Zitat antworten Zitat