Как автоматически заполнить и увеличить поле в подчиненной форме во время события щелчка новой записи? - PullRequest
0 голосов
/ 12 марта 2019

У меня есть форма и подчиненная форма. У меня есть кнопка, которая добавляет новую запись в подчиненную форму.

Я хочу иметь возможность щелкнуть новую запись и автоматически заполнить первое поле в подчиненной форме одним разом. Одно из моих испытаний ниже с Nz () и DMax ().

Я также пытался использовать циклы FOR LOOPS и некоторые ситуации BEFORE_INSERT.

Имя моего поля - [Час времени], а имя TextBox для поля в подчиненной форме - "Время часа".

Private Sub NextHour_Click()
Me.Hourly_Sub_subform.SetFocus
RunCommand acCmdRecordsGoToLast
DoCmd.GoToRecord , , acNewRec
If Me.NewRecord Then
On Error Resume Next
Me!TimeHour.Value = Nz(DMax("[Time Hour]", "[Hourly Subform Query]", " "), 
0) + 1
End If
End Sub

Максимум, что я хочу - 12 записей. Я хочу, чтобы код мог обрабатывать нулевые значения, так как, если нет записей, а подчиненная форма должна начинаться с 1. А также, чтобы иметь возможность пригласить нового пользователя и добавить новую запись в середине подчинитесь и нажмите кнопку новой записи, чтобы автоматически заполнить любое число.

Вот мое событие перед вставкой:

Private Sub Form_BeforeInsert(CANCEL As Integer)
If Me.NewRecord = True And Me.RecordsetClone.RecordCount = 12 Then
MsgBox "Only 12 Records can be added for 12 hours per shift.", 
vbExclamation + vbOKOnly, "ff&esize"
DoCmd.GoToRecord , , acPrevious
End If
End Sub

P.S. Если вы можете добавить его, я также хочу запретить пользователям вводить повторяющиеся значения для поля [Час времени].

В целом, мои параметры для подчиненной формы: Всего 12 записей. Событие клика по новой записи добавит числа 1 - 12 в поле [Time Hour]. Нет дубликатов для этих часов. Также нет выхода из строя, т. Е. 3 -> 7, должно быть 3 -> 4.

Заранее спасибо!

...