用的是ADOQUERY,表TABLE1结构如下:
编号(BH)    日期(RQ)   型号(XH)
20021218001
20021218002
且能能够自动加1到明天时出现
20021219001
20021219002
....望高手能够帮助小弟。

解决方案 »

  1.   

    还有这个编号用INT型数据类型时系统说超过长度不知该选哪种类型.
    谢谢大家.
      

  2.   

    //Edit4为年份
    //Edit5为月份
    //Edit6为日
    var
      strwhere:string;
      Tstr:string;     //所得编号~~~~~~~(类型用varchar(11)就可以了)
    begin
      Edit4.Text:=Formatdatetime('yyyy',now);
      Edit5.Text:=Formatdatetime('MM',now);
      Edit6.Text:=Formatdatetime('dd',now);
      strWhere:=Trim(Edit4.Text)+Trim(edit5.Text)+Trim(Edit6.Text)+'%';
      with ADOQuery1 do
      begin
       Active:=false;
       sql.Clear;
       SQL.Add('select *');
       SQL.Add(' from table1');
       sql.Add('where bh like :a');
       sql.Add(' order by bh');
       Parameters.ParamByName('a').Value:=strwhere;
       Active:=True;
      end;  //end with
      if ADOQuery1.RecordCount>0 Then     //取出最后一条记录加上1
          begin
             ADOQuery1.Last;
             Tstr:=copy(ADOQuery1.fieldByname('bh').AsString,9,3);
             Tstr:=Trim(Edit4.Text)+Trim(edit5.Text)+Trim(Edit6.Text)+Tstr);
          end
      else
             Tstr:=Trim(Edit4.Text)+Trim(edit5.Text)+Trim(Edit6.Text)+'001';
      ADOQuery1.Active:=False;
      ADOQuery1.Close;
    end;
      

  3.   

    可能上面的方面太笨了,但可以实现,针对一天几十上百条记录还是可以的:)不行再发消息给我:)/////////////////////
    向红星进军~~~~~~~~~~~
    tommy 
    ////////////////////