2013-08-19 6 views
-1

Я пытаюсь сбросить поле автоинкремента в определенном поле. Причина, по которой он получает подсчет, который автоматически заполняется в номере дела. Но когда он бьет mindnight. 12/31/2013 11:59:00 PM Я хочу автоинкремент, чтобы начать снова с нуля.Как сбросить поле AutoIncrement из базы данных доступа

Это код, который у меня есть. Этот код на Form1 и я получаю значение ID2 из Form2 сохранить номер дела последовательны только тогда, когда они попали в 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 миллисекунд, который является один второй код, который работает для таймера

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

Эй, Джонни, но я хочу, чтобы колонка сбросилась, когда наступит новый год. Как я мог это сделать. – NOE2270667

+0

Вам нужно будет запустить его вручную, когда наступит новый год. Или введите событие Open Form, чтобы проверить дату, и если это новый год, тогда запустите код. –

+0

Для тех, кто приезжает сюда из Google, есть хорошая дискуссия - http://stackoverflow.com/questions/4416619 –

0

Вы также можете сделать это:

  1. Удалить первичный ключ из поля
  2. Удалить поле
  3. сделать новое поле так же, как тот, вы удалили
  4. Это делается

Дополнительная информация: https://www.youtube.com/watch?v=1kni5kFzlPk С уважением.

Смежные вопросы