FUNCTION TABLEFINDMAXITM(TNAME1, FNAME1,VALUE1,FNAME2:STRING):STRING;
VAR CNT_STR : STRING;
    QDBCHECK : TQUERY;
    counter:integer;
BEGIN  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'CXDB';   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME2 +') FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+' = '''+VALUE1+'''');
   QDBCHECK.Close;
//   SHOWMESSAGE(   QDBCHECK.SQL.TEXT);
   QDBCHECK.Open;
     if QDBCHECK.Fields[0].IsNull=true then
     CNT_STR := '0'
     else
     CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
     counter:=strtoint(Cnt_str);
     inc(counter);     cnt_str:='00'+inttostr(counter);
     cnt_str:=copy(cnt_str,length(cnt_str)-2,2);   RESULT := CNT_STR;  FINALLY
  QDBCHECK.Free;
  END;
END;这个是我写的增加编码号的函数,在增加主表的时候没问题,主表唯一区别是8位编码,细表在增加的时候编码老是为'00'不解之
所以想高手提供一些好的经典的代码
分不够我可以加,关键是好东西