1

我正在尝试重置特定字段的自动增量字段。原因是它获得了一个自动填充到案例编号中的计数。但是当它在 2013 年 12 月 31 日晚上 11:59:00 到达mindnight 时,我想自动增量从零重新开始。

这是我的一些代码。此代码在 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

我有一个问题,如果他们不按数字,我该如何改变会发生的事情,我该如何强制它改变。我每隔 1000 毫秒就有一个计时器计时器间隔上的 text5,这是一秒钟,为计时器运行的代码是

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

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

4

2 回答 2

4

尝试这个:

CurrentDb.Execute "ALTER TABLE YourTableNameHere ALTER COLUMN FieldNameHere COUNTER(1,1)"
于 2013-08-19T20:19:09.460 回答
1

你也可以这样做:

  1. 从字段中删除主键
  2. 删除字段
  3. 创建一个与您删除的字段完全相同的新字段
  4. 完成

更多详情:https ://www.youtube.com/watch?v= 1kni5kFzlPk 问候。

于 2015-11-19T10:12:53.883 回答