Hallo,
ich habe ein Problem mit einem DBGrid. Ich zeige über ein DBGrid Datensätze in einem seperatem Formular an in dem ich die Datensätze ändern und neue hinzufügen kann, beim OnActivate es DBGrid.Form habe ich ein refresh eingesetzt damit er bearbeitete Datensätze mit den aktualisierten Daten anzeigt. Allerdings zeigt er mir nicht die neu erstellen Datensätze an, nicht einmal nach einem Neustart, obwohl die Daten in der
DB liegen (überprüft)....
Woran könnte das liegen??
Das DBGrid greift auf eine DataSource zu welche mit einer ZQuery verbunden ist die Direkt über die ZConnection geht.
Hier mal die Grundfunktionen...
Delphi-Quellcode:
//-------------------------On Form Create---------------------------------------//
procedure TForm1.FormCreate(Sender: TObject);
begin
with ZQuery1
do
begin
Close;
SQL.Text := '
SELECT * FROM munitionsdatenblatt WHERE MAT LIKE :MAT AND ArtBez LIKE :Artikel AND ModBez LIKE :Modell AND VerZw LIKE :Verwendung';
ParamCheck := True;
ParamByName('
MAT').AsString := '
%';
ParamByName('
Artikel').AsString := '
%';
ParamByName('
Modell').AsString := '
%';
ParamByName('
Verwendung').AsString := '
%';
Open;
Label3.Caption:= '
Anzahl Datensätze ' + IntToStr(ZQuery1.RecordCount);
end;
end;
//-------------------------Verwendung Changed-----------------------------------//
procedure TForm1.VerwendungChange(Sender: TObject);
begin
if MATKlasse.Text = '
<Alle>'
then
MATStr:= '
'
else
MATStr:= MATKlasse.Text;
begin
ZQuery1.ParamByName('
MAT').AsString := MATStr + '
%';
ZQuery1.ParamByName('
Modell').AsString := '
%' + Modell.Text + '
%';
ZQuery1.ParamByName('
Artikel').AsString := '
%' + Artikel.Text + '
%';
ZQuery1.ParamByName('
Verwendung').AsString := '
%' + Verwendung.Text + '
%';
ZQuery1.Refresh;
Label3.Caption:= '
Anzahl Datensätze ' + IntToStr(ZQuery1.RecordCount);
end;
end;
//-------------------------ONFORM GET FOCUS-------------------------------------//
procedure TForm1.FormActivate(Sender: TObject);
begin
ZQuery1.Refresh;
// REFRESH GRID FOR GETTING CHANGED DATASETS
end;
Mfg, Steve