我有一个表,里面有a,b,c,d,e,f6个字段,都是数字类型。现在我想把a,b,c,分成一组,d,e,f分成一组。里面值最大的那个数据提出来,比如a=5,b=1,c=2.那就显示出“在第一组里a的数值最大”。d=5,e=1,f=2 那就显示出“在第2组里a的数值最大”怎么实现?

解决方案 »

  1.   

    用计算字段嘛!
    定义一个新的计算字段,然后用MAX()函数求出最大值就行了!
      

  2.   

    假设你的字段为整数型,则如下:
    function order(team:string;p1,p2,p3:integer):string;
    var num:string;
        max:integer;
    begin
      max:=0;
      if p1>max then begin max:=p1;num:='a';end;
      if p2>max then begin max:=p2;num:='b';end;
      if p3>max then begin max:=p3;num:='c';end;
      result:='在第'+team+'组里'+num+'的数值最大为'+INTTOSTR(MAX);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
        showmessage(order('一',TABLE1.FieldValues['A'],TABLE1.FieldValues['B'],TABLE1.FieldValues['C']));
        showmessage(order('二',TABLE1.FieldValues['D'],TABLE1.FieldValues['E'],TABLE1.FieldValues['F']));
    end;