Свойство Form.OpenArgs (Access)
Определяет строковое выражение, заданное аргументом OpenArgs метода OpenForm , открывшего форму. Для чтения и записи, Variant.
Синтаксис
expression. OpenArgs
выражение: переменная, представляющая объект Form.
Замечания
Это свойство доступно только с помощью макроса или с помощью Visual Basic с методом OpenForm объекта DoCmd . Этот параметр свойства доступен только для чтения во всех представлениях.
Чтобы использовать свойство OpenArgs , откройте форму с помощью метода OpenForm объекта DoCmd и задайте для аргумента OpenArgs требуемое строковое выражение. Затем параметр свойства OpenArgs можно использовать в коде формы, например в процедуре события Open . Вы также можете ссылаться на параметр свойства в макросе, например макрос Open , или выражение, например выражение, которое задает свойство ControlSource для элемента управления в форме.
Предположим, что вы открываете ленточную форму со списком клиентов. Если вы хотите, чтобы фокус перемещался на определенную запись клиента при открытии формы, можно задать для свойства OpenArgs имя клиента, а затем использовать действие НайтиЗапись в макросе Открыть, чтобы переместить фокус на запись клиента с указанным именем.
Пример
В следующем примере свойство OpenArgs используется для открытия формы Employees для конкретной записи сотрудника и демонстрируется, как метод OpenForm задает свойство OpenArgs . Эту процедуру можно запустить соответствующим образом. например, при возникновении события AfterUpdate для настраиваемого диалогового окна, используемого для ввода новых сведений о сотруднике.
Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, _
, "Callahan"
End Sub
Sub Form_Open(Cancel As Integer)
Dim strEmployeeName As String
' If OpenArgs property contains employee name, find
' corresponding employee record and display it on form. For
' example,if the OpenArgs property contains "Callahan",
' move to first "Callahan" record.
strEmployeeName = Forms!Employees.OpenArgs
If Len(strEmployeeName) > 0 Then
DoCmd.GoToControl "LastName"
DoCmd.FindRecord strEmployeeName, , True, , True, , True
End If
End Sub
В приведенном ниже примере показано, как использовать свойство OpenArgs для предотвращения открытия формы из области навигации.
Private Sub Form_Open(Cancel As Integer)
If Me.OpenArgs() <> "Valid User" Then
MsgBox "You are not authorized to use this form!", _
vbExclamation + vbOKOnly, "Invalid Access"
Cancel = True
End If
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.