У меня есть форма и подчиненная форма. У меня есть кнопка, которая добавляет новую запись в подчиненную форму.
Я хочу иметь возможность щелкнуть новую запись и автоматически заполнить первое поле в подчиненной форме одним разом. Одно из моих испытаний ниже с 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.
Заранее спасибо!