Поделиться через


Метод DoCmd.OpenForm (Access)

Метод OpenForm выполняет действие OpenForm в Visual Basic.

Синтаксис

выражение.OpenForm (FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

выражение: переменная, представляющая объект DoCmd.

Параметры

Имя Обязательный или необязательный Тип данных Описание
FormName Обязательный Variant Строковое выражение, являющееся допустимым именем формы в текущей базе данных. При выполнении кода Visual Basic, содержащего метод OpenForm в базе данных библиотеки, Access ищет форму с этим именем сначала в базе данных библиотеки, а затем в текущей базе данных.
View Необязательный AcFormView Константа AcFormView, указывающая представление, в котором открывается форма. Значение по умолчанию — acNormal.
FilterName Необязательный Variant Строковое выражение, являющееся допустимым именем запроса в текущей базе данных.
WhereCondition Необязательный Variant Строковое выражение, являющееся допустимым предложением WHERE в SQL без слова WHERE.
DataMode Необязательный AcFormOpenDataMode Константа AcFormOpenDataMode, указывающая режим ввода данных для формы. Это относится только к формам, открываемым в режиме формы или режиме таблицы. Значение по умолчанию — acFormPropertySettings.
WindowMode Необязательный AcWindowMode Константа AcWindowMode, указывающая режим окна, в котором открывается форма. Значение по умолчанию — acWindowNormal.
OpenArgs Необязательный Variant Строковое выражение. Это выражение используется для установки свойства OpenArgs формы. Этот параметр можно затем использовать в коде в модуле формы, например в процедуре обработки события Open. Свойство OpenArgs также можно указывать в макросах и выражениях.

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

Примечания

Используйте метод OpenForm, чтобы открыть форму в режиме формы, конструктора форм, режиме предварительного просмотра или режиме таблицы. Он позволяет выбирать режим ввода данных и режим окна для формы, а также ограничивать количество записей, отображаемых в форме.

Максимальная длина аргумента WhereCondition — 32 768 символов (в отличие от аргумента действия WhereCondition в окне макроса, максимальная длина которого составляет 256 символов).

Пример

В следующем примере открывается форма Employees (Сотрудники) в режиме формы и отображаются только записи со значением King в поле LastName (Фамилия). Можно изменять отображаемые записи, а также добавлять новые записи.

DoCmd.OpenForm "Employees", , ,"LastName = 'King'"

В следующем примере показано, как открыть форму frmMainEmployees в режиме формы и отобразить только записи, которые относятся к отделу, выбранному в поле со спискомcboDept. Можно изменять отображаемые записи, а также добавлять новые записи.

Private Sub cmdFilter_Click()
    DoCmd.OpenForm "frmMainEmployees", , , "DepartmentID=" & cboDept.Value
End Sub

В следующем примере показано, как использовать аргумент WhereCondition метода OpenForm, чтобы отфильтровать записи, отображаемые в форме при ее открытии.

Private Sub cmdShowOrders_Click()
If Not Me.NewRecord Then
    DoCmd.OpenForm "frmOrder", _
        WhereCondition:="CustomerID=" & Me.txtCustomerID
End If
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.