dm 的类型??query1.sql.Add('select sum(2701),sum(2702),sum(2703),sum(2704),sum(2705),sum(2706),sum(2707),sum(2708),sum(2709) from temcpk where dm <>"0027001"');query2.sql.Add('select 2701,2702,2703,2704,2705,2706,2707,2708,2709 from temcpk where dm ="0027001"');??是不是2701,2702,2703,2704,2705,2706,2707,2708,2709 都是字段名??
能不能把表的各字段给出??

解决方案 »

  1.   

    数据库temcpk中的字段为dm,2701--2709,,他们都是字段名,dm类型A,2701-2709为$
      

  2.   

    在求和后加 as ..
    query1.sql.Add('select sum(2701) as a1,sum(2702) as a2,sum(2703) as a3,sum(2704) as a4,sum(2705) as a5,sum(2706) as a6,sum(2707) as a7,sum(2708) as a8,sum(2709) as a9 from temcpk where dm <>"0027001"');
    query1.open;query2.Close;  //校验
    query2.SQL.Clear;
    query2.sql.Add('select 2701,2702,2703,2704,2705,2706,2707,2708,2709 from temcpk where dm ="0027001"');if trim(query1.filedbyname('a1').asstring)=trim(query2.fieldbyname('2701').asstring) then
    .......
    .......
      

  3.   

    提示:query1:Field'a1' not found
      

  4.   

    sorry!!更正::
    if trim(query1.filedbyname('a1').asstring)=trim(query2.fieldbyname
    应为:if trim(query1.fieldbyname('a1').asstring)=trim(query2.fieldbyname
    相信楼主看出来了,在拼写正确的情况下,:)
    我的不会,
    你的是什么数据库??dm类型A,2701-2709为$??
      

  5.   

    用循环试试:
    var:s:real;
    s:=0;
      if query1.fieldbname('dm').value<>'0027001'
      begin
      while not query1.eof do
       begin
       s:=s+query1.fieldbyname('2701').asfloat;
       .......................('2702')........
       query1.next;
       end;
    if s=trim(query2.fieldbyname('2701').asstring) then
    ................
    else
    ...............
      
      

  6.   

    paradox7dm类型A,2701-2709为$看不出来两句的区别吗?能否指出来?多谢!!!