Comment remplir des zones de texte avec des sélections de zone de liste déroulante multicolonne

Modéré : nécessite des compétences de base en macro, en codage et en interopérabilité.

Cet article s’applique à une base de données Microsoft Access (.mdb) et à un projet Microsoft Access (.adp).

Résumé

Cet article explique comment remplir plusieurs zones de texte avec les sélections effectuées dans une zone de liste déroulante multicolonne, puis enregistrer le contenu des zones de texte en tant qu’enregistrement dans un tableau.

Informations supplémentaires

Attention

Si vous suivez les étapes décrites dans cet exemple, vous modifiez l’exemple de base de données Northwind.mdb. Vous pouvez sauvegarder le fichier Northwind.mdb et suivre ces étapes sur une copie de la base de données.

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. Pour mettre à jour des zones de texte avec des sélections effectuées dans une zone de liste modifiable à plusieurs colonnes, procédez comme suit :

  1. Ouvrez l’exemple de base de données Northwind.mdb.

  2. Créez une table dans Northwind.mdb qui inclut les champs suivants :

    Table: Table1
    ----------------------
    Field Name: ID
    Data Type: Autonumber
    Primary Key
    ---
    Field Name: FirstName
    Data Type: Text
    ---
    Field Name: LastName
    Data Type: Text
    ---
    Field Name: Title
    Data Type: Text
    
  3. Créez un formulaire dans Northwind.mdb qui contient les contrôles suivants :

    Form: Form1
    ----------------------
    RecordSource: Table1
    ---
    Control Type: Text Box
    Name: txtFirstName
    ControlSource: FirstName
    ---
    Control Type: Text Box
    Name: txtLastName
    ControlSource: LastName
    ---
    Control Type: Text Box
    Name: txtTitle
    ControlSource: Title
    
  4. Ajoutez une zone de liste déroulante à Form1. Dans l’Assistant Zone de liste déroulante, procédez comme suit :

    1. Cliquez sur Je souhaite que la zone de liste déroulante recherche les valeurs d’une table ou d’une requête, puis cliquez sur Suivant.
    2. Cliquez sur Table : Employés, puis sur Suivant.
    3. Déplacez les champs LastName, FirstName et Title de la liste Champs disponibles vers la liste Champs sélectionnés en sélectionnant chaque champ, puis en cliquant sur le > bouton. Cliquez sur Suivant.
    4. Cliquez sur Suivant, sur Mémoriser la valeur pour une utilisation ultérieure, puis sur Suivant.
    5. Dans la zone quelle étiquette voulez-vous pour votre zone de liste déroulante , tapez Effectuer la sélection, puis cliquez sur Terminer.
  5. Cliquez avec le bouton droit sur la zone de liste déroulante que vous avez créée à l’étape 4, puis cliquez sur Propriétés.

  6. Cliquez sur l’onglet Autre, puis tapez cboNames dans la zone Nom.

  7. Cliquez sur l’onglet Événement, cliquez sur la zone événement Après la mise à jour, puis cliquez sur le bouton Générer (...) .

  8. Cliquez sur Générateur de code, puis sur OK.

  9. Dans le Rédacteur Visual Basic, tapez le code suivant :

Private Sub cboNames_AfterUpdate()
   Me.txtFirstName = Me![cboNames].column(1)
   Me.txtLastName = Me![cboNames].column(2)
   Me.txtTitle = Me![cboNames].column(3)
End Sub

  1. Quittez le Rédacteur Visual Basic, puis ouvrez le formulaire Form1 en mode Formulaire.
  2. Cliquez sur un élément dans la zone de liste déroulante, puis cliquez sur Enregistrement suivant. Répétez cette étape pour chaque enregistrement que vous souhaitez enregistrer.
  3. Ouvrez Table1 en mode Table pour confirmer que de nouveaux enregistrements ont été enregistrés. Notez qu’après avoir cliqué sur un élément dans la zone de liste déroulante, la propriété AfterUpdate exécute la procédure événementielle qui remplit les trois zones de texte du formulaire, et un nouvel enregistrement est ajouté à Table1.