formateur informatique

Montant total des commandes clients sur formulaire Access

Accueil  >  Bureautique  >  Access  >  Access Astuces  >  Montant total des commandes clients sur formulaire Access
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Montant total des commandes clients

Cette nouvelle astuce Access montre comment consolider les données d'un sous formulaire pour livrer le résultat de synthèse sur le formulaire.

Consolider les commandes des clients sur un formulaire Access

Dans l'exemple illustré par la capture, toutes les commandes passées par un client sont énumérées dans un sous-formulaire en mode feuille de données. C'est une somme particulière, émettant une condition bien précise, qui consolide ces informations pour livrer le total du client juste au-dessus, plus précisément sur le formulaire.



Base de données source
Pour la mise en place de cette démonstration, nous proposons de récupérer une base de données réalisant déjà le lien entre chaque client et ses commandes par le biais d'un formulaire et d'un sous-formulaire.
  • Télécharger le fichier consolider-montants.rar en cliquant sur ce lien,
  • Le décompresser dans le dossier de votre choix,
  • Double cliquer sur le fichier résultant pour l'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation, double cliquer sur le formulaire f_Clients pour l'exécuter,
Nous débouchons sur un formulaire présentant le premier client. Les commandes qu'il a passées sont effectivement listées dans le sous-formulaire. La barre de navigation personnalisée permet de faire défiler ces clients. Et à chaque fois, le sous formulaire s'actualise pour livrer toutes les commandes attachées. Tous n'ont pas encore passé de commande. Si vous atteignez le quatrième client, vous remarquez qu'il a déjà effectué trois commandes. Le montant consolidé doit être affiché au-dessus du sous formulaire, dans la zone de texte annoncée par l'étiquette Total du client. Bien sûr et à ce stade, elle est encore vide.

Les informations de ces clients émanent de la table Clients. Celles des commandes attachées sont archivées dans la table Commandes. Ces deux tables sont reliées entre elles par la clé primaire Client_id et la clé externe Com_client. C'est grâce à cette liaison que ces informations sont réunies sur le formulaire et le sous-formulaire.



Consolider les commandes des clients
C'est la fonction Access SomDom qui permet de réaliser des sommes sur des critères. Son objectif ici est d'additionner tous les montants des commandes pour un même client. Ces montants sont archivés dans le champ Com_montant de la table Commandes. Cette somme ne doit être réalisée que lorsque la valeur de la clé externe Com_client correspond bien à l'identifiant de la clé primaire Client_id, pour le client en cours de consultation depuis le formulaire. La fonction SomDom opère comme les fonctions CpteDom et RechDom. C'est l'opération qui diffère. En premier argument, nous devons lui indiquer le champ à partir duquel l'addition doit être faite. En deuxième argument, nous devons préciser le nom de la table hébergeant ce champ. En troisième et dernier paramètre, nous devons émettre la clause Where, soit le critère. Ce critère doit faire le lien entre les deux clés pour que la consolidation concerne bien le client en cours.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans la liste, choisir le mode Création,
  • Sur le formulaire en conception, cliquer sur la zone du total client,
Zone de texte sur formulaire Access pour consolider le total du client

C'est bien elle qui doit accueillir le calcul de synthèse.
  • Activer l'onglet Données de sa feuille de propriétés,
  • Cliquer dans la zone vide de sa propriété Source contrôle pour l'activer,
  • Taper le symbole égal (=) pour initier la syntaxe de la formule,
  • Inscrire la fonction de consolidation suivie d'une parenthèse, soit : =SomDom(,
  • Désigner le champ Com_montant entre crochets et entre guillemets, soit : "[com_montant]",
  • Taper un point-virgule (;) pour passer dans l'argument de la table qui l'héberge,
  • Désigner la table Commandes entre guillemets, soit : "Commandes",
  • Taper un point-virgule (;) pour passer dans la clause Where, soit le critère à construire,
  • Désigner le champ Com_client suivi du symbole égal entre guillemets, soit : "[Com_client]="
Le début du critère est donc entre guillemets. Il fait référence à la clé externe Com_client de la table Commandes. Elle doit vérifier l'égalité avec le client en cours de consultation depuis le formulaire. Cette égalité doit donc s'opérer avec la clé primaire du champ Client_id sur le formulaire.
  • Ajouter un espace suivi d'un Et commercial suivi d'un autre espace :   & ,
  • Puis, inscrire le champ de la clé primaire entre crochets, soit : [Client_id],
Cette fois, le champ ne doit pas être mentionné entre guillemets puisqu'il appartient au formulaire. C'est ainsi que l'on consolide toutes les commandes issues d'un sous-formulaire pour un même client avec une seule fonction.
  • Fermer la parenthèse de la fonction SomDom,
  • Puis, valider la syntaxe à l'aide de la touche Entrée du clavier,
  • Enregistrer le formulaire (CTRL + S) puis l'exécuter (F5),
En faisant défiler les clients, vous constatez que les montants des commandes sont parfaitement consolidés.



Calculer le total des commandes par client sur un formulaire Access avec la fonction SomDom

Et si vous ajoutez une nouvelle entrée dans la table Commandes, bien sûr rattachée à un client par le numéro du champ Com_client, vous constatez qu'elle est directement intégrée dans le calcul de la fonction SomDom.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn