access数据库里的
SELECT foodid, food, sum(number)
FROM menu
WHERE date between #2004-10-6# and #2004-11-24#
GROUP BY foodid, food;
怎么用程序把sum(number)的结果存入DBGridEh的指定的列,同时第一列自动编号!

解决方案 »

  1.   

    给你的dbgrideh.datasource.date所对应的字段赋值.
      

  2.   

    1、怎么用程序把sum(number)的结果存入DBGridEh的指定的列?
    DBGrid某列显示的数据都是DataSet的中的数据,所以对DBGridEh显示数据的控制就实际上是对DataSet的控制。
    你要显示Sum(Number)这个字段的值只需要连接上DataSource,DataSource连接了DataSet就会自动显示了。
    2、同时第一列自动编号!
    在DataSet中建立一个计算字段。字段类型Integer。
    在该字段的OnGetText的事件中写入:
    Text:=IntToStr(DataSet.RecNo);
    即可。
    你可以将DBGridEh的第一列指向这个字段。那么第一列就会自动按1 2 3 4 5 ...排列
      

  3.   

    to :mastersky(浪)
    在第一个问题中sum(Number)怎么连接DataSource,DBGridEh不能显示sum(Number)
    能用程序实现吗?
      

  4.   

    不会吧。
    你用一个TQuery或者TADOQuery。
    qryExecute:TADOQuery;
    qryExecute.close;
    qryExecute.ConnectionString:=...;
    qryExetute.Sql.text:='SELECT foodid, food, sum(number) sumNumber FROM menu WHERE date between #2004-10-6# and #2004-11-24# GROUP BY foodid, food';
    qryExecute.Open;然后用DataSource连这个Dataset,DBGridEh连这个DataSource就OK了,我经常做统计都可以显示出来的。
      

  5.   

    楼主的意思是不是要把sum(number)的值再存入制定求和的字段