dbgrid显示如下:
会员工号       会员姓名   身份证号码     会员性别
1010111021 张翠 1243546         女
1010111022 张山 1243547         男
1010111023 李秋 1243548         男
1010111024 李水 1243549         女
1010111025 张三 1243550         男表名为table1 
  我想分别统计出会员性别 男性多少位 女性多少位 统计的数据显示memo中。
不知道该如何实现。还望各位大大赐教~~~~~谢谢啦

解决方案 »

  1.   

    方法太多了,说个简单的,先定义两全局变量,M_Count,F_Count在会员性别列的OnGetText事件中
    if Field.AsString='男' then
       M_Count:=M_Count+1
    else if Field.AsString='女' then
       F_Count:=F_Count+1
    else
       //人妖处理
      

  2.   

    OnGetText在dbgrid的数据集的列才有
      

  3.   

     query1.Filtered:=false;
     query1.Filter:='会员性别 = ''男''';
     query1.Filtered:=true;
     Memo1.lines.add('男性人数为: '+ inttostr(query1.RecordCount));
     query1.Filtered:= false;
     query1.Filter:='会员性别 = ''女''';
     query1.Filtered:=true;
     Memo1.lines.add('女性人数为: '+ inttostr(query1.RecordCount));
     query1.Filtered:= false;
     Memo1.lines.add('总人数为: '+ inttostr(query1.RecordCount));
      

  4.   

    to dinoalex(Takwan) 
      筛选完后可以分别统计出男女的数量,这一步可以完成。
      但是,筛选完之后dbgrid显示的女性的数据,我的目的的是dbgrid中显示的数据还是原来的数据,memo里显示的统计的数据。to  goodhj  (goodhj) 
       我还是新手,是很新手的新手。不是很懂您说的,不过还是谢谢你拉~~~
      

  5.   

    1、Table1的DisbleControls和EnableControls
    2、用另外的Query来查询
      

  6.   

    最后一个 query1.Filtered:= false; 就是显示全部的,可能是排序变了吧,让你感觉没有全显
      

  7.   


      2、用另外的Query来查询
      用adoquery2么,又如何和原来的dbgrid关联起来呢?
      

  8.   

    to dinoalex(Takwan)  不好意思,漏了一句。最终解决。谢谢
      

  9.   


    不需要和dbgrid关联,只从数据库的导相关结果放置到 Memo