DBGrid1.DataSource1.DataSet加入一个计算字段。此字段的值为:该记录的位置。
用DBGrid1.DataSource1.DataSet的OnCalcFields(DataSet: TDataSet)事件(自己写)
procedure TForm1.MyCalcFields(DataSet: TDataSet);
beginend;
procedure tform1.Oncreate;
begin
  //之前向Table1加入一个CalcField. 这不用再说了吧。
  Table1.OnCalcFields:=MyCalcFields;
  Table1.open;
end;

解决方案 »

  1.   

    假设你加的字段是:记录位置是(integer)
    procedure TForm1.MyCalcFields(DataSet: TDataSet);
    begin
      Table1.fieldbyname('记录位置是').asinteger:=table1.RecNo;
    end;
      

  2.   

    你试试这个。
    with adodataset1 do
    begin
      close;
      CommandText:='select  bianma,count(*) as no from testma group by bianma';
      CommandType:=cmdtext;
      open;
    end;
      

  3.   

    你试试这个。
    with adodataset1 do
    begin
      close;
      CommandText:='select  bianma,count(*) as no from testma group by bianma';
      CommandType:=cmdtext;
      open;
    end;
      

  4.   

    前面的回答都是在数据表加入了记录,其实是不可行的,
    那样不小心会修改了数据库为什么不在另外加一个edit来显示记录数呢?
    简单一点啊!
    如果要专业一点的话,可以自己写个vcl控件,一个dbgrid,一个edit组合一下就行了啊?
      

  5.   

    type
      TForm1 = class(TForm)
        Table1: TTable;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        Table1Common_Name: TStringField;//table 中的字段(string)
        Table1SpeciesName: TStringField;//table 中的字段(string)
        Table1recordNO: TIntegerField;
        procedure Table1CalcFields(DataSet: TDataSet);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Table1CalcFields(DataSet: TDataSet);
    begin
      Table1.FieldByName('RecordNO').AsInteger:=Table1.RecNo;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Table1.DatabaseName :='DBDEMOS';
      Table1.TableName:='biolife.db';
      Table1.Open;
    end;我E_mail于你。
      

  6.   

    多谢,但access数据库好象不行。