Я хочу передать переменную в другую форму, которая открывается с помощью OpenForm. Событие открытия моей формы, похоже, не вызывается. Возможно, я не правильно об этом говорю. Оператор печати в первой подпрограмме верен, но ошибка Debug.Print «A» никогда не происходит. Кроме того, как только эта переменная будет передана в новую форму, как мне использовать ее в инструкции SQL?
Private Sub DataObjectsWhereUsed_Click()
Dim dataId As String
dataId = Me.DataObjectsList.Column(2)
Debug.Print dataId
DoCmd.OpenForm FormName: = "ProcessByDataObject", OpenArgs:=dataId
End Sub
Public Sub ProcessByDataObject_Open()
Dim dataObject As Variant
Debug.Print "A"
If Not IsNull(Me.OpenArgs) Then
dataObject.Value = Me.OpenArgs
End If
End Sub
Они не отлаживают.печатают «А». Form_Open работает с основной формой, но не с подформой.
Ваш код и ваш комментарий сбивают с толку. Как задействована подформа? Вы имеете в виду, что это действительно вторая самостоятельная форма? Что вы хотите, чтобы вторая форма делала с переданным значением? Возможно, это должна быть договоренность форма/подформа.





Ваш Public Sub ProcessByDataObject_Open() никогда не вызывается.
Используйте событие Form_Open формы ProcessByDataObject:
Private Sub Form_Open(Cancel As Integer)
Dim dataObject As Variant
Debug.Print "A"
If Not IsNull(Me.OpenArgs) Then
dataObject.Value = Me.OpenArgs
End If
End Sub
Получаете ли вы то, что хотите, используя
Private Sub Form_Open(Cancel As Integer)илиPrivate Sub Form_Load()вместоPublic Sub ProcessByDataObject_Open()?