如题

解决方案 »

  1.   

    我这里有一个自动添加编号的函数,满足的就是类似于你的这种要求,具体的可以根据你的需要再加以修改:
    function GetAutoCode(ADOConnection1 : TADOConnection; Table_str : string; Column_str : string ; CurrDate_str : String; CodeLen : integer) : string;
    var
        tmpNum,i : integer;
        MaxBillNo, tmpMax : String;
        tmp_format : array[0..20] of char;
        ADOdatasettmp : TADODataSet;
    begin
        ADOdatasettmp := TADODataSet.Create(nil);
        ADOdatasettmp.Connection := ADOConnection1;
        FillChar(tmp_format, CodeLen, '0');
        ADOdatasettmp.CommandText := 'select max(' + Column_str + ') MaxBillNO from ' + Table_str + ' where ' + Column_str + ' like''' + CurrDate_str + '%''' ;
        ADOdatasettmp.Open;
        MaxBillNo := ADOdatasettmp.FieldByName('MaxBillNO').AsString;
        if MaxBillNo<>'' then
        begin
            tmpMax := copy(MaxBillNo,9,length(MaxBillNo) - 8);
            tmpNum := StrToInt(tmpMax) + 1;
            tmpMax := InttoStr(tmpNum);
        end
        else
            tmpMax := '1';
        tmpMax := copy(tmp_format,1,CodeLen - 8 - length(tmpMax)) + tmpMax;
        Result := CurrDate_str + tmpMax;
    end;
      

  2.   

    同意楼上,若要显示指定的格式就只有自己写代码了,不然你可以用Asscess的自动编号.