Применение

Объект Form

Объект Report

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

выражение.OpenArgs

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

Замечания

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

Чтобы использовать свойство OpenArgs , откройте форму с помощью метода OpenForm объекта DoCmd и задайте для аргумента OpenArgs требуемое строковое выражение. Затем параметр свойства OpenArgs можно использовать в коде формы, например в open процедура обработки событий. Вы также можете ссылаться на параметр свойства в макросе, например в макросе Open, или на выражение, например выражение, которое задает свойство ControlSource для элемент управления в форме.

Предположим, что вы открываете ленточную форму со списком клиентов. Если вы хотите, чтобы при открытии формы фокус переместился к записи определенного клиента , вы можете задать для свойства OpenArgs имя клиента, а затем использовать макрокоманду НайтиЗапись в макросе "Открытие" для перемещения фокуса на нужную запись.

Пример

В следующем примере свойство OpenArgs используется для открытия формы Employees для конкретной записи сотрудника и показано, как метод OpenForm задает свойство OpenArgs . Эту процедуру можно запустить соответствующим образом, например при возникновении события AfterUpdate для настраиваемого диалогового окна, используемого для ввода новых сведений о сотруднике.

Sub OpenToCallahan()    DoCmd.OpenForm "Employees", acNormal, , , _        acReadOnly, , "Callahan"End SubSub 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 IfEnd 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 IfEnd Sub

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.