Я хочу создать кнопку, которая создаст новую запись для ввода данных. Однако одно из полей в новой записи будет принимать значение из поля текущей записи. Моя попытка -
Option Compare Database
Public FormID As Integer
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acNewRec
FormID = Me.OpenArgs
RespondentID = FormID
End Sub
Private Sub NextCondition_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.GoToRecord , , acNewRec
If Me.NewRecord Then
Me.RespondentID = FormID
End If
End Sub
РЕДАКТИРОВАТЬ - КОНТЕКСТ: Есть две соответствующие формы - Респондент и Медицинские условия. Поскольку у каждого респондента должна быть только 1 запись в таблице респондентов, я создал новую таблицу MedicalConditions, которая допускает несколько записей для каждого респондента, поскольку у респондента может быть несколько MedicalConditions. Мы попадаем в форму MedicalConditions, нажав кнопку в форме Респондента. Итак, наш RespondentID уже известен. Фактически, это передается через OpenArgs, и, когда открывается форма medicalConditions, OpenArgs сохраняется в FormID, который имеет общую область c. Поскольку мы вводим только медицинские условия для конкретного c респондента, это должно быть отражено в таблице, указав одинаковый RespondentID для каждого медицинского состояния, введенного в этом сеансе. Таким образом, когда участник нажимает «Ввести другое условие», я хотел бы создать новую запись, чтобы он / она мог заполнить MedicalCondition, однако, поскольку это относится к одному и тому же респонденту, я бы хотел, чтобы RespondentID был перенесен в это новая запись. В моей текущей реализации я могу передать RespondentID в форму, используя OpenArgs, чтобы первая запись имела правильный RespondentID. Однако моя проблема в том, что когда я go добавляю еще одно медицинское условие, RespondentID равен 0 (а не предыдущему значению).