2013-08-19 100 views
-1

我正在嘗試重置特定字段的Autoincrement字段。 原因是因爲它獲得自動填充在案例編號中的計數。但是當它命中mindnight 12/31/2013 11:59:00 PM我想自動增量從零開始。如何從Access數據庫中重置AutoIncrement字段

這是我有的一些代碼。 此代碼是在Form1上,我得到了ID2從窗體2的值通過雙擊

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 

也許有人有不同的方法來保持病例數洽時,才擊中字段1。爲了向上計數。 現在我的問題是,當我到達「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 

我有兩個問題,如果他們永遠不需要按我怎麼驗證什麼happends所以它可以刪除表並創建一個新的表,它的工作自動增量將刷新唯一的問題是,我如何強制它會自己做它。

+0

我試過了,它刪除了表格,並添加了一個新的記錄,它給了我一個全新的記錄,我在箱子外面教了' – NOE2270667

+0

但是我想要一個更好的建議,如果他們有更好的代碼。 – NOE2270667

回答

1

試試這個:

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

嗨Johny,但我希望列新的一年來重置。我怎麼能這樣做。 – NOE2270667

+0

當新的一年到來時,你必須手動運行它。或者在Open Form事件中檢查日期,如果是新的一年,則運行代碼。 –

+0

對於那些來自Google的人來說,有很好的討論 - http://stackoverflow.com/questions/4416619 –

相關問題