Modal Property

Microsoft Access Visual Basic

Modal Property

       

You can use the Modal property to specify whether a form opens as a modal form. When a form opens as a modal form, you must close the form before you can move the focus to another object. Read/write Boolean.

expression.Modal

expression   Required. An expression that returns one of the objects in the Applies To list.

Remarks

The Modal property uses the following settings.

Setting Visual Basic Description
Yes True   The form opens as a modal form in Form view.
No False   (Default) The form opens as a non-modal form in Form view.
You can set this property by using the form's property sheet, a macro, or Visual Basic.

When you open a modal form, other windows in Microsoft Access are disabled until you close the form (although you can switch to windows in other applications). To disable menus and toolbars in addition to other windows, set both the form's Modal and PopUp properties to Yes.

You can use the BorderStyle property to specify the kind of border a form will have. Typically, modal forms have the BorderStyle property set to Dialog.

Tip   You can use the Modal, PopUp, and BorderStyle properties to create a custom dialog box. You can set Modal to Yes, PopUp to Yes, and BorderStyle to Dialog for custom dialog boxes.

Setting the Modal property to Yes makes the form modal only when you:

  • Open it in Form view from the Database window.
  • Open it in Form view by using a macro or Visual Basic.
  • Switch from Design view to Form view.

When the form is modal, you can't switch to Datasheet view from Form view, although you can switch to Design view and then to Datasheet view.

The form isn't modal in Design view or Datasheet view and also isn't modal if you switch from Datasheet view to Form view.

Note   You can use the Dialog setting of the Window Mode action argument of the OpenForm action to open a form with its Modal and PopUp properties set to Yes.

Example

To return the value of the Modal property for the "Order Entry" form, you can use the following:

Dim b As Boolean
b = Forms("Order Entry").Modal

To set the value of the Modal property, you can use the following:

Forms("Order Entry").Modal = True