Witajcie, natrafiłem dziś na kolejny problem, liczę na waszą pomoc.
Mianowicie chciałbym osiągnąć taki efekt (liczba2):
W poniższym kodzie który napisałem, owszem działa to, ale wynik zwraca tylko do pierwszego recordu (liczba2).
procedure TFmLista.Button11Click(Sender: TObject);
var
i,j:integer;
begin
DBGrid1.DataSource.DataSet.first;
DBGrid3.DataSource.DataSet.first;
For i:=1 to DataSource3.DataSet.RecordCount do
if i <> 1 then DBGrid3.DataSource.DataSet.next
else
begin
For j:=1 to DataSource1.DataSet.RecordCount do
begin
if DBGrid1.Fields[0].Value (*numer*) = DBGrid3.Fields[0].Value (*idnumer*) then
begin
DBGrid1.DataSource.DataSet.Filtered:=False;
DBGrid1.DataSource.DataSet.Filter:='numer = '+DBGrid1.Fields[0].AsString;
DBGrid1.DataSource.DataSet.Filtered:=True;
DBNavigator2.BtnClick(nbedit);
DBGrid3.Fields[2].Value (*liczba2*) :=DBGrid3.Fields[1].Value (*liczba*) - DataSource1.DataSet.RecordCount (*ilosc wystapien*) ;
DBNavigator2.BtnClick(nbpost);
DBGrid1.DataSource.DataSet.Filtered:=False;
end;
DBGrid1.DataSource.DataSet.next;
end;
end;
end;