Tæl poster i Access
Jeg ønsker at tælle hvor mange poster der er i min database, for at kunne sætte antallet af rækker lig med dette antal. Min kode ser således ud:procedure TForm1.edithentClick(Sender: TObject);
var
i: integer;
antal: integer;
begin
i:=0;
antal:=0;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='SELECT COUNT(adressebogid) AS antal FROM adressebog';
showmessage(inttostr(antal));//for at kontrollere 'antal'.
Stringgrid1.RowCount:=antal;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM adressebog');
ADOQuery1.Active := True;
ADOquery1.First;
while not adoquery1.EOF do
begin
StringGrid1.Cells[0,i]:=(AdoQuery1.FieldbyName('fornavn').AsString + ' ' + AdoQuery1.FieldbyName('efternavn').AsString + ',' + ' ' + AdoQuery1.FieldbyName('adresse').AsString);
adoquery1.Next;
inc(i);
end;
end;
Problemet er, at der ikke bliver indsat nogle værdier i 'antal'. Som det ses sætter jeg 'antal' lig med 0 i starten og det bliver den ved med at være efter den har talt posterne i databasen. Jeg har også prøvet at skrive:
ADOQuery1.SQL.Add('SELECT COUNT(adressebogid) AS antal FROM adressebog');
men det virker heller ikke. Sætter jeg ikke selv antal lig med 0, kommer den med en værdi på 1243534 (eller sådan noget) og der er altså kun 2 poster i databasen!
