Свойство OpenArgs

Применение

Объект Form

Объект Report

Определяет строковое выражение, указываемое аргументом OpenArgs метода OpenForm, который открывает форму. Это свойство возвращает доступное для чтения и записи значение типа Variant.

выражение.OpenArgs

выражение (обязательно). Выражение, возвращающее один из объектов из списка "Применение".

Замечания

Это свойство можно задать только с помощью макроса или с помощью метода OpenForm объекта DoCmd в Visual Basic для приложений (VBA). Значение свойства доступно только для чтения во всех представлениях.

Чтобы использовать свойство OpenArgs, откройте форму с помощью метода OpenForm объекта DoCmd и укажите для аргумент OpenArgs нужное строковое выражение. После этого значение свойства OpenArgs можно использовать в коде для формы, например в процедуре обработки событий 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

В следующем примере метод FindFirst используется для поиска сотрудника, указанного в свойстве OpenArgs.

Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Dim strEmployeeName As String
strEmployeeName = Me.OpenArgs
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.FindFirst "LastName = '" & _
strEmployeeName & "'"
If Not RS.NoMatch Then
Me.Bookmark = RS.Bookmark
End If
End If
End Sub
Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×