当然,在这上段程序之前Query9.open已经执行!谢谢指导!!!

解决方案 »

  1.   


          with query.DataModule2.Query10 do
              begin
                try
                  Close;//必须先关闭!
                  SQL.Clear;
                  SQL.Add('select sum(可增加量) 可增加总量 from ');
                  str:=Query.DataModule2.Query9.Name;
                  SQL.Add(str);
                  open;
                except
                ......
                end;  
              end;
      

  2.   

    to plainsong(伤心的风) 在整个应用程序中,我没有用到Query10啊,我想与这个没有关系关键是Query8执行后,它的数据集记录在存放在哪(不管在内存,还是以磁盘临时区),它是以什么名称存在!你说呢?这里涉及的是对TQuery查询结果的再一次统计(sum)谢谢!
      

  3.   

    这样应该不可以的,你可以用嵌套select语句
      

  4.   

    对Query的查询结果是不能进行二次查询的,用嵌套的Select语句应该可以实现
      

  5.   

    with query.DataModule2.Query10 do
              begin
                try
                  SQL.Clear;
                  SQL.Add('select sum(可增加量) 可增加总量 from ');
                  str:=Query.DataModule2.Query9.Name;//将上面一行改为:str:=Query.DataModule2.Query9.tablename;              SQL.Add(str);
                  open;
                except
                ......
                end;  
              end;
      

  6.   

    with query.DataModule2.Query10 do
              begin
                try
                  Close;//必须先关闭!
                  SQL.Clear;
                  SQL.Add('select xx = aa.xx,ff = sum(aa.dd)  from ( ');
                  str:=Query.DataModule2.Query9.text;
                  SQL.Add(str);
                  SQL.Add(') aa group by aa.xx');
                  open;
                except
                ......
                end;  
              end;
      

  7.   

    var
      tmp_value:integer;
    begin
    with query do
    begin
    close;
    sql.clear;
    sql.add('select sum(可增加量) 可增加总量 from tabel');
    Open;
    tmp_value:=Fields[0].Value;
      

  8.   

    to adminis(古董不是要得到单个记录的值,我是要对这个查询结果的一个字段进行统计