Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Sélectionnez une rubrique ci-dessous pour en savoir plus sur les employés dans Northwind Developer Edition. 

Les employés disposent d’un formulaire fractionné qui fonctionne comme un formulaire de liste et de détails. 

Utilisez Employés pour ajouter de nouveaux employés et mettre à jour les informations sur les employés existants. 

Sélectionnez l’onglet Employés dans le ruban pour afficher les employés dans le formulaire Liste des employés, frmEmployeeList, qui est un formulaire fractionné avec les fonctionnalités suivantes : 

  • La partie supérieure du formulaire est une vue unique d’un employé.

  • La partie inférieure du formulaire est un affichage Feuille de données de tous les employés.

  • La sélection d’un employé dans l’une ou l’autre partie définit également le focus sur cet employé dans l’autre partie du formulaire fractionné.

  • Vous pouvez ajouter, modifier ou supprimer des employés dans l’une ou l’autre des parties du formulaire fractionné.

  • L’utilisation d’un formulaire fractionné avec la partie en mode Feuille de données suppose que la source d’enregistrement du formulaire comporte plusieurs enregistrements.

Impact potentiel sur les performances d’un formulaire fractionné 

La plupart des développeurs préfèrent ne pas charger une table ou une requête non filtrées en tant que source d’enregistrement pour un formulaire. Le filtrage d’un formulaire sur un enregistrement unique réduit la quantité de données à transférer de la table vers le formulaire. Avec une table Access locale, la différence entre le chargement d’une source d’enregistrement filtrée et une petite source d’enregistrement non filtrée peut être à peine perceptible. Toutefois, ces performances sont perdues lorsque les tables Access sont remplacées par une base de données distante basée sur un serveur, telle que SQL Server. 

La table employee dans Northwind ne doit pas devenir très volumineuse. Elle est donc candidate pour une source d’enregistrement non filtrée. Toutefois, les formulaires liés à d’autres tables, telles que les détails de commande , qui peuvent atteindre plusieurs milliers d’enregistrements, ne sont pas candidats à une source d’enregistrement non filtrée.
 

MODIFICATION DES EMPLOYÉS

Lors de l’ajout ou de la modification d’enregistrements dans un formulaire fractionné, les utilisateurs peuvent entrer des valeurs en mode Formulaire ou feuille de données. Certains champs sont obligatoires, d’autres sont facultatifs. Le formulaire valide la présence de valeurs dans les champs obligatoires. Consultez Validation de champ obligatoire ci-dessous.

Tables de recherche, listes de valeurs et contrôles de liste déroulante

  • La liste déroulante Titres limite les entrées à une liste de titres présélectionnés. Les titres se trouvent dans une table de choix appelée Titres.

  • Certains choix attendus sont déjà stockés dans la table de choix, mais les utilisateurs peuvent ajouter de nouveaux titres à la table de recherche, en utilisant le comportement Access par défaut pour la zone de liste déroulante ou les contrôles de liste déroulante.

    • La propriété Limit to List de la zone de liste déroulante Title est définie sur Oui et le formulaire de modification des titres est identifié dans la propriété Formulaire de modification des éléments de liste. La sélection de la liste déroulante dans le formulaire affiche l’icône de modification sur le bord inférieur. 
      ...

Cliquez sur l’icône d’édition pour ouvrir le formulaire de modification des titres, frmEmployeeTitles, dans lequel vous pouvez modifier ou ajouter à la liste des titres approuvés. 

NOTE:Dans la plupart des environnements de production, la modification ou l’ajout de titres sont limités aux utilisateurs disposant de privilèges améliorés.
 

Self-Referential champs De recherche

La fonction employee illustre le concept d’un champ ID Self-Referential. Pour prendre en charge la désignation du superviseur d’un employé, la table contient un champ SupervisorID avec employeeIDpour les autres employés. Pour désigner un superviseur, le EmployeeID d’un autre employé est entré dans ce champ. Access applique l’intégrité référentielle à cette relation.

Le SupervisorID est implémenté dans le formulaire employé sous la forme d’une liste déroulante ou d’une zone de liste déroulante ; sa source de ligne est un jeu filtré d’enregistrements de la table Employee. Étant donné qu’elle est autoréférentielle, la requête doit exclure le EmployeeID de l’employé sélectionné. Par exemple, la source de ligne pour SupervisorID pour l’employé Karen Finster n’inclut pas le employeeID de Karen. Elle ne peut pas être son propre superviseur.

Champs et contrôles de pièce jointe

Les images des employés sont stockées dans un champ de pièce jointe de la table. Vous ajoutez de nouvelles images ou modifiez des images existantes en utilisant le comportement Access par défaut pour les champs de pièces jointes. 
...

NOTE: Nous avons inclus un champ pièce jointe dans la table Employee pour illustrer la fonctionnalité dans Access. Les images incorporées augmentent la taille des accdbs et ne sont donc pas considérées comme une bonne pratique. Évaluez soigneusement votre environnement avant de l’implémenter dans une application de production. L’alternative recommandée est un dossier réseau stockant toutes les images et un lien dans un champ de texte de la table contenant le chemin d’accès à l’image, plutôt que le champ Pièce jointe.

Sous-formulaire avec des informations connexes

Le sous-formulaire Commandes (à droite du formulaire Employé) affiche les commandes récentes (le cas échéant) gérées par l’employé. Le sous-formulaire répertorie les commandes en mode Feuille de données, triées du plus récent au plus ancien. Pour modifier une commande existante pour cet employé, cliquez sur le lien hypertexte ID de commande # dans le sous-formulaire Commandes.

Source d’enregistrement du formulaire d’employé

Une requête appelée qryEmployees retourne les enregistrements dans le formulaire. L’utilisation d’une requête, plutôt que de la table, est généralement considérée comme une bonne pratique. La requête retourne des enregistrements d’une seule table. En outre, une requête peut être paramétrée pour limiter le nombre d’enregistrements retournés. 

  • La clause Select de cette requête utilise le caractère générique « * » pour renvoyer tous les champs de la table Employee.

  • Deux champs calculés dans la requête retournent FirstName LastName et LastName, FirstName.
     

Valeurs calculées dans les contrôles

NOTE: Les champs calculés ne sont pas stockés dans la table. Toutefois, elles sont disponibles dans la source d’enregistrement du formulaire.

La plupart des contrôles du formulaire Employé sont activés . Vous pouvez donc les sélectionner à l’aide de la souris ou de l’onglet et ne sont pas verrouillés pour qu’ils soient modifiables. 

En plus du comportement Access intégré, les sous-fonctions VBA dans les formulaires, dans les contrôles sur les formulaires et dans les modules autonomes, exécutent la logique de base requise pour les employés. La section suivante décrit les fonctions et le code qui implémente ces fonctions. 

Action de contrôle intégrée

Comportement par défaut du sélecteur d’enregistrement du formulaire : 

  • Cliquer avec le bouton gauche sur le sélecteur d’enregistrement à gauche d’un formulaire dans un affichage unique permet d’enregistrer l’enregistrement actif avec toutes les modifications. L’enregistrement en cliquant sur le sélecteur d’enregistrement déclenche les sous-fonctions ET les fonctions VBA appropriées.

  • En cliquant avec le bouton droit sur le sélecteur d’enregistrement à gauche d’un formulaire dans un affichage unique, un menu s’affiche pour effectuer des actions telles que Couper, Copier ou Coller un enregistrement. La suppression ou la suppression d’un enregistrement déclenche la fonction EmployeeCanBeDeleted décrite ci-dessous.

  • Les sélecteurs d’enregistrements doivent être activés pour qu’un formulaire soit disponible pour que ce comportement par défaut soit disponible.
     

Intégrité référentielle pour les enregistrements au format

L’intégrité référentielle empêche la suppression des employés qui ont des enregistrements enfants dans des tables associées. Par conséquent, Access génère une erreur si un utilisateur tente de supprimer un enregistrement avec des enregistrements enfants. Le formulaire Northwind Employee Access remplace les messages d’erreur génériques par défaut concernant l’intégrité référentielle par des messages personnalisés.

Le code dans la procédure Delete du formulaire répond aux tentatives de couper un enregistrement à partir du menu contextuel ou de supprimer un enregistrement à l’aide de la touche Supprimer

Une fonction privée, EmployeeCanBeDeleted, recherche les enregistrements associés pour cet employé dans les tables Commandes, Bons de commande, Employés et Privilèges des employés

Si elles sont trouvées, cette fonction supprime le message d’erreur par défaut et informe l’utilisateur de la raison pour laquelle l’enregistrement ne peut pas être supprimé à l’aide de la même boîte de dialogue générique que le formulaire client utilise pour informer l’utilisateur de la raison pour laquelle le client ne peut pas être supprimé.

humaine

Les employés implémentent la validation et la gestion standard des erreurs. Il existe deux types de validation pour les contrôles.

  • Champs obligatoires

  • Formats standard

Validation de champ obligatoire

 Trois champs sont requis pour tous les employés :

  • Prénom

  • Nom

  • Poste

Dans cette version développeur, l’événement Before Update du formulaire valide les champs obligatoires. Si un utilisateur tente d’enregistrer un enregistrement d’employé sans valeurs pour un ou plusieurs champs obligatoires qui n’ont pas de validation de valeur, l’enregistrement et met en surbrillance tous les champs obligatoires qui n’ont pas de valeur. Dans le formulaire Employé dans Northwind, la validation de champ requise est gérée par l’événement Before Update du formulaire, et non par les contrôles individuels.

L’événement Avant la mise à jour du formulaire Employé valide la présence de valeurs pour les trois champs obligatoires. L’enregistrement d’un nouvel employé ou d’un enregistrement d’employé modifié déclenche l’événement Before Update du formulaire, qui appelle des fonctions publiques qui case activée la présence ou l’absence des valeurs requises et y répondent.

Le module modValidation contient les fonctions suivantes :

  • ValidateForm

  • IsValidForm

  • HighlightInvalidControls

  • HighlightControl

  • ValidateForm_RemoveHighlights

Gestion des nouveaux employés

Cliquez sur le bouton Ajouter un employé pour exécuter le sous-btnNewEmployee_Click privé afin de : 

  • enregistrer l’enregistrement actif et

  • définir le focus du formulaire sur un nouvel enregistrement
    '

Caractères génériques et champs nommés dans une requête Select

La clause SELECT dans qryEmployees utilise le caractère générique « * » pour sélectionner TOUS les champs de la table. La conception de requête générique inclut automatiquement tous les champs nouvellement ajoutés à partir d’une table sous-jacente, ce qui n’est pas possible avec une liste de champs spécifiques. D’autre part, on peut répertorier des champs spécifiques pour limiter le jeu d’enregistrements retourné aux seuls champs nécessaires dans un formulaire d’affichage uniquement, par exemple.

Choix de conception appropriés

Vos conceptions doivent être basées sur l’approche appropriée pour vos besoins. Bien que, dans la mesure du possible, la préférence irait normalement à l’approche la moins susceptible de nécessiter une maintenance future (c’est-à-dire l’approche générique). 

ComboBoxes liés à des tables de recherche — Deux approches

Les éléments connexes, tels que le superviseur d’un employé, sont affichés dans des listes déroulantes ou des zones de liste déroulante sur les formulaires. Seule la clé étrangère pour SupervisorID est nécessaire dans la requête recordsource du formulaire, car ce champ est lié au champ Clé étrangère (SupervisorID). La zone de liste déroulante affiche également la valeur de texte correspondante.

Une zone de liste modifiable à deux colonnes avec une colonne ID masquée et une colonne Description visible permet de fonctionner. Dans le formulaire Employé, la zone de liste modifiable Superviseur est liée à une requête simple à deux colonnes. Consultez la propriété RowSource pour Supervisor.

Dans certains cas, toutefois, une table de recherche n’a pas de clé primaire distincte et, par conséquent, la valeur de texte elle-même est la clé primaire.

Lorsqu’une liste de valeurs possibles est petite et très stable, comme le titre d’un employé, elle est souvent appelée domaine fermé. Il n’est pas courant de modifier ou d’ajouter des valeurs pour Title. Les tables de recherche de domaine fermé sont des candidats à l’approche de requête à une colonne.

Dans le formulaire Employé, la zone de liste déroulante Titre est liée à une requête à une colonne de Titres. Consultez la propriété RowSource pour les titres. 

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×