Partager via


Form, objet (Access)

Un objet Form fait référence à un formulaire Microsoft Access particulier.

Remarques

Un objet Form est un membre de la collection Forms, qui est un ensemble de tous les formulaires actuellement ouverts. Dans la collection Forms, des formulaires individuels sont indexés à partir de zéro. Reportez-vous à un objet Form individuel dans la collection Forms en faisant référence au formulaire par son nom, ou en faisant référence à son index dans la collection.

Pour faire référence à un formulaire spécifique de la collection Forms, utilisez plutôt son nom car l’index de la collection d’un formulaire peut changer. Si le nom du formulaire inclut un espace, le nom doit être entouré par des crochets ([ ]).

Syntaxe Exemple
AllForms!NomFormulaire AllForms!OrderForm
AllForms![Nom Formulaire] AllForms![Order Form]
AllForms("NomFormulaire") AllForms("OrderForm")
AllForms(index) AllForms(0)

Chaque objet Form possède une collection Controls, qui contient tous les contrôles sur le formulaire. Reportez-vous à un contrôle sur le formulaire en faisant référence de manière implicite ou explicite à la collection Controls. Votre code sera plus rapide si vous faites référence à la collection Controls de manière implicite. Les exemples ci-dessous montrent deux façons pour faire référence à un contrôle nommé NewData dans le formulaire intitulé OrderForm.

 ' Implicit reference. 
Forms!OrderForm!NewData
' Explicit reference. 
Forms!OrderForm.Controls!NewData

Les deux exemples montrent comment vous pouvez faire référence à un contrôle nommé NewData dans un sous-formulaire ctlSubForm contenu dans le formulaire intitulé OrderForm.

Forms!OrderForm.ctlSubForm.Form!Controls.NewData
Forms!OrderForm.ctlSubForm!NewData

Exemple

L’exemple suivant montre comment utiliser les contrôles TextBox afin de fournir des critères de date pour une requête.

Private Sub cmdSearch_Click()

   Dim db As DAO.Database
   Dim qd As QueryDef
   Dim vWhere As Variant

   Set db = CurrentDb()

   On Error Resume Next
   db.QueryDefs.Delete "Query1"
   On Error GoTo 0

   vWhere = Null

   vWhere = vWhere & " AND [PayeeID]=" + Me.cboPayeeID

   If Nz(Me.txtEndDate, "") <> "" And Nz(Me.txtStartDate, "") <> "" Then
      vWhere = vWhere & " AND [RefundProcessed] Between #" & _
      Me.txtStartDate & "# AND #" & Me.txtEndDate & "#"
   Else
      If Nz(Me.txtEndDate, "") = "" And Nz(Me.txtStartDate, "") <> "" Then
         vWhere = vWhere & " AND [RefundProcessed]>=#" _
                  + Me.txtStartDate & "#"
      Else
         If Nz(Me.txtEndDate, "") <> "" And Nz(Me.txtStartDate, "") = "" Then
            vWhere = vWhere & " AND [RefundProcessed] <=#" _
                     + Me.txtEndDate & "#"
      End If
     End If
   End If

   If Nz(vWhere, "") = "" Then
      MsgBox "There are no search criteria selected." & vbCrLf & vbCrLf & _
             "Search Cancelled.", vbInformation, "Search Canceled."
   Else
      Set qd = db.CreateQueryDef("Query1", "SELECT * FROM tblRefundData? & _
               " WHERE " & Mid(vWhere, 6))
      db.Close
      Set db = Nothing

      DoCmd.OpenQuery "Query1", acViewNormal, acReadOnly
   End If
End Sub

L’exemple suivant montre comment utiliser l’événement BeforeUpdate d’un formulaire pour demander à ce qu’une valeur soit entrée dans un des contrôles quand un autre contrôle inclut également des données.

Private Sub Form_BeforeUpdate(Cancel As Integer)
If (IsNull(Me.FieldOne)) Or (Me.FieldOne.Value =  "") Then
    ' No action required
Else
    If (IsNull(Me.FieldTwo)) or (Me.FieldTwo.Value = "") Then
        MsgBox "You must provide data for field 'FieldTwo', " & _
            "if a value is entered in FieldOne", _
            vbOKOnly, "Required Field"
        Me.FieldTwo.SetFocus
        Cancel = True
        Exit Sub
    End If
End If

End Sub

L’exemple suivant montre comment utiliser la propriété OpenArgs pour empêcher l’ouverture d’un formulaire depuis le volet de navigation.

Private Sub Form_Open(Cancel As Integer)

If Me.OpenArgs() <> "Valid User" Then
    MsgBox "You are not authorized to use this form!", _
        vbExclamation + vbOKOnly, "Invalid Access"
    Cancel = True
End If
End Sub

L’exemple suivant montre comment utiliser l’argument WhereCondition de la méthode OpenForm pour filtrer les enregistrements affichés sur un formulaire quand il est ouvert.

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

Événements

Méthodes

Propriétés

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.