如何从Access数据库重置AutoIncrement字段

时间:2013-08-19 16:25:20

标签: ms-access

我正在尝试重置特定字段的Autoincrement字段。 原因是它得到一个自动填充案例编号的计数。但是当它遇到mindnight 12/31/2013 11:59:00 PM我想自动增量从零开始。

这是我的一些代码。 这段代码在Form1上,我从Form2得到ID2的值,只有当他们使用Double Click

命中Field1时,才能使案例编号保持一致
Private Sub Field1_DblClick(Cancel As Integer)
    Docmd.OpenForm "Form2",,,,acFormAdd,acHidden
    Me.Field1 = Format(Date, "YY") & "-" & Format(Forms!Form2!ID2, "0000")
    Me.Field2.SetFocus
End Sub

也许有人有不同的方法。向上计数。 现在我的问题是,当我到达“12/31/13 11:59:00 PM”时,我希望自动增量将自身重置为1以启动全新的案例编号。提供的格式。 对,知道它工作正常,他们看到的格式是YY-0001,以13-0001案例编号为例。我有以下代码,我认为它应该用于重置自动增量。可能有人有更好的方法然后这个。 我的代码。

Private Sub Field1_DblClick(Cancel As Integer)
    If Me.Text5 > "12:/31/2013 11:59:00 PM" Then
        DoCmd. DeleteObject acTable, "Table2"
        DoCmd.RunSQL "CREATE TABLE Table2 ([ID2] AUTOINCREMENT, [Field1] text (255))"
    end if

我遇到的问题如何通过改变发生的事情来管理,如果他们不按数字我怎么强迫它改变。 我在计时器上有text5 每1000毫秒定时器间隔,即1秒 为计时器运行的代码是

Private Sub Form_Timer()
    Me.Text5 = Now()
End Sub

我有两个问题,如果他们永远不需要按我如何验证所以它可以删除表并创建一个新的表一旦它工作自动增量将刷新唯一的问题是我如何强制它将它将自己做。

2 个答案:

答案 0 :(得分:2)

试试这个:

CurrentDb.Execute "ALTER TABLE YourTableNameHere ALTER COLUMN FieldNameHere COUNTER(1,1)"

答案 1 :(得分:0)

你也可以这样做:

  1. 从字段中删除主键
  2. 删除字段
  3. 创建一个与删除的字段完全相同的新字段
  4. 已完成
  5. 更多详情:https://www.youtube.com/watch?v=1kni5kFzlPk 问候。