Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Применение

Объект 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

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

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

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

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