在Access 的表中,有一个字段是自动编号的
可以实现
在这个字段到达一定的数据后
自动从1开始编号
这个可以实现的吗???
是不删除原有的数据的

解决方案 »

  1.   

    不能,手动,而且已经用过的数字不能出现
    ALTER TABLE tblOrder 
      ALTER COLUMN OrderId COUNTER (1, 1)  
      

  2.   

    1、不用自增,字段有效性规则 设为:<255
    2、用自增,插入前SELECT MAX(自增),如果>=255,做相应处理。
      

  3.   

    做了,说是我的from 子句有问题
      

  4.   

     string sql = "select  IID  from   IIID  if IID>=255 (Update IIID set IID=" + "1" + ") else (insert into IIID(IIIIID) values ('"+"21"+"') )";
    这是代码
      

  5.   

    ACCESS不支持一次提交多个语句,一次只能提交一个,另外也不支持存储过程。
      

  6.   

    自己程序中中先得到select max(id)然后再+1后处理回即可。这些全部需要在你自己的代码中实现,无法在ACCESS端实现。
      

  7.   

    string sql = "select IID from IIID if IID>=255 (Update IIID set IID=" + "1" + ") else (insert into IIID(IIIIID) values ('"+"21"+"') )";
    这是代码
    这种语句能 运行吗?打开记录集
    select max(id) as aa from tt
    判断 AA是否>255,进行不同的处理,在你的语言环境中实现。
      

  8.   

    ALTER TABLE tblOrder  
       ALTER COLUMN OrderId COUNTER (1, 1)
    注意 已经用过的数字不能出现,除非删除此条记录
      

  9.   

    报出
    + $exception {"找不到表或约束条件。"} System.Exception {System.Data.OleDb.OleDbException}
    的错误
      

  10.   

    不能自增,不能主键。 insert的时候   根据 最后的时间 得到 IIIID的值,         再判断是不是255 不是加+1 是就变成1  。很简单的呀