Microsoft Access : L'utilisation de la propriété de colonne d'une zone de liste déroulante pour mettre à jour d'une zone de texte

Le support d'Office 2003 a pris fin

Microsoft a mis fin au support d'Office 2003 le 8 avril 2014. Cette modification a affecté vos mises à jour logicielles et options de sécurité. Découvrez les implications de ce changement à votre niveau et la marche à suivre pour rester protégé.

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 209738
Modéré : Nécessite macro base, compétences en programmation et interopérabilité.

Cet article s'applique à une base de postes de travail Microsoft Access (fichier .mdb et .accdb) et à un projet Microsoft Access (.adp).

Résumé
Vous pouvez afficher plusieurs champs dans une zone de liste modifiable ou une zone de liste sur un formulaire d'état ora, même lorsque ces champs proviennent d'une table qui n'est pas liée pour le formulaire ou l'état. Vous pouvez également mettre à jour les contrôles, tels que des zones de texte, de nouvelles informations sur un utilisateur qui sélectionne à partir d'une zone de liste modifiable ou une zone de liste.
Plus d'informations
Pour accomplir les tâches mentionnées dans la section « Résumé », utilisez une des techniques suivantes :
  • La méthode 1: Utilisez recherche automatique dans les formulaires.
  • Méthode 2: Utiliser la propriété de colonne d'une zone de liste modifiable multicolonne pour mettre à jour un contrôle de zone de texte avec les nouvelles informations.
  • Méthode 3: Utiliser plusieurs fonctions de DLookup() dans les formulaires et les rapports.

Méthode 1: Utilisation de recherche automatique dans les formulaires

Vous pouvez concevoir une requête de plusieurs tables pour remplir automatiquement les valeurs de certains champs d'un nouvel enregistrement et utiliser la requête comme source de ligne d'une zone de liste déroulante. Lorsque vous entrez une valeur dans le champ de jointure de la requête, ou dans un formulaire ou un état basé sur la requête, Microsoft Access recherche et remplit les informations existantes en rapport avec cette valeur. Par exemple, si vous connaissez la valeur dans le champ de jointure entre une table clients et une table commandes (généralement un identificateur client comme un code client), vous pourriez saisir le code client et ont accès Entrez le reste des informations de ce client. Si aucune information correspondante n'est trouvée, Access affiche un message d'erreur lorsque le focus quitte l'enregistrement. Pour que RechercheAuto fonctionne, certaines conditions doivent être remplies :

  • La requête doit reposer sur plusieurs tables et ces dernières doivent entretenir une relation un-à-plusieurs
  • Le champ de jointure du côté « un » de la relation doit avoir un index unique.
  • Le champ de jointure que vous ajoutez à la grille de création doit provenir de la table du côté « plusieurs » de la relation un-à-plusieurs. (En d'autres termes, il est la clé étrangère de la table.) Pour que RechercheAuto fonctionne, ce champ ne peut pas être une clé primaire et sa propriété indexé ne peut pas être envoyée sur Oui (sans doublons). Par exemple, dans une requête qui comprend les tables clients et commandes, faites glisser vers la grille de création le champ CustomerID de la table commandes, et non l'ID de la table Customers.
  • La valeur que vous entrez dans le champ de jointure du côté « plusieurs » doit déjà exister dans le champ de jointure du côté « un ».
Lorsque vous mettez à jour les données :

Lorsque la valeur du champ joint situé du côté « plusieurs » de la relation est ajoutée ou modifiée dans un enregistrement, Access détecte automatiquement et affiche les valeurs associées de la table sur le côté « un » de la relation.

Vous pouvez toujours mettre à jour le champ joint situé du côté « plusieurs » d'une relation, mais vous pouvez mettre à jour le champ de jointure du côté « un » que si vous avez activé les mises à jour en cascade lors de la définition de la relation entre les tables. Quoi qu'il en soit, la mise à jour des données, Access recalcule automatiquement les totaux ou les expressions de la requête dépend des mise à jour données.

Méthode 2: À l'aide de la propriété de colonne d'une zone de liste déroulante

En affectant à la propriété de colonne d'une zone de liste modifiable multicolonne ou d'une zone de liste à une zone de texte, vous pouvez afficher une colonne de la sélection de zone de liste modifiable en cours dans la zone de texte. Microsoft Access met automatiquement à jour la zone de texte lorsqu'une sélection est effectuée à partir de la zone de liste déroulante. Pour ce faire, procédez comme suit :
  1. Ouvrez l'exemple de base de données Northwind Template.
  2. Créer un formulaire ou un état basé sur la table appropriée ou d'une requête.
  3. Ajouter une zone de liste modifiable ou une zone de liste qui Récupère des informations à partir de plusieurs champs de thanone.

    Par exemple, vous pouvez utiliser l'instruction Select de colonnes multiples suivant que la propriété contenu (RowSource) d'une zone de liste modifiable ou une zone de liste pour afficher des informations à partir de plusieurs colonnes dans la table Categories :
    Sélectionnez [employés]. [ID], [employés]. [Nom], [employés]. [Fonction] FROM employés ORDER par [employés]. [Nom]
    Pour cet exemple, la valeur de la propriété ColumnCount 3 et définissez la propriété ColumnWidths à une taille appropriée pour la zone de liste modifiable ou une zone de liste. Une fois que vous disposez de la zone de liste modifiable ou zone de liste taille correctement anddefined pour retourner plusieurs champs, vous pouvez utiliser la propriété Column pour afficher la sélection en cours dans un contrôle de zone de texte. Choisissez une entrée dans la zone de liste en premier ; dans le cas contraire, elle renvoie la valeur Null.

    La propriété Column utilise un argument de référence pour faire référence à une colonne spécifique dans la zone de liste modifiable multicolonne ou d'une zone de liste. Utilisez Column(0) pour faire référence à la première colonne, Column (1) pour faire référence à la deuxième colonne et ainsi de suite.

    Cet exemple utilise Column (1) pour faire référence à [Nom], la deuxième colonne de la zone de liste déroulante.
  4. Pour afficher la colonne [Nom] de la sélection de zone de liste modifiable en cours, créez un contrôle de zone de texte. Rendre le texte de zone d'un contrôle calculé en définissant l'expression suivante comme la SourceContrôle (ControlSource) de la zone de texte
    =[cboControlName]. Column (1)
    cboControlName est le nom de la zone de liste déroulante. La propriété Column rend la zone de texte (contrôle calculé) en lecture seule.

Méthode 3: Utilisation de RechDom (DLookup) dans les contrôles

Créez un formulaire indépendant dans la base de données exemple Les Comptoirs, puis ajoutez une zone de liste déroulante nommée cboEmployeeLookup et une zone de texte appelée txtJobTitleLookup.
   In Northwind.mdb in Access 2003 or earlier:   Object: Combo Box   -------------------------------            Name: cboEmployeeLookup   RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)       RowSource: Employees     ColumnCount: 2    ColumnWidths: 1     BoundColumn: 1    DefaultValue: 1   Object: Text Box   -------------------------------            Name: txtLastNameLookup   ControlSource: =DLookup("[LastName]","Employees","[EmployeeID]="                          & [cboEmployeeLookup])   			   In the Northwind Template database in Access 2007 or Access 2010:    Object: Combo Box    -------------------------------             Name: cboEmployeeLookup    RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)        RowSource: Employees      ColumnCount: 3     ColumnWidths: 0";0";1"      BoundColumn: 1     DefaultValue: 1     Object: Text Box     -------------------------------              Name: txtJobTitleLookup     ControlSource: =DLookup("[Job Title]","Employees","[ID]=" & [cboEmployeeLookup])     
Notez que lorsque vous sélectionnez une valeur employée dans la zone de liste déroulante cboEmployeeLookup , la zone de texte txtJobTitleLookup est renseignée.

Références

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 209738 - Dernière mise à jour : 10/01/2015 02:59:00 - Révision : 2.0

Microsoft Access 2000 Standard Edition, Microsoft Access 2002, Microsoft Office Access 2003, Microsoft Office Access 2007, Microsoft Access 2010, Microsoft Access 2013, Access 2016

  • kbhowto kbinfo kbusage kbmt KB209738 KbMtfr
Commentaires