> Tous les forums > Forum Bureautique
 calculer le total d'une facture dans Access 2007
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
lg.lydia
  Posté le 25/05/2011 @ 11:38 
Aller en bas de la page 
Nouvelle astucienne

Bonjour,

Je tente de développer un petit "logiciel de gestion" afin de réaliser la facturation d'une auto-entreprise. Je n'arrive pas à calculer le total d'une commande, d'un devis ou d'une facture.

En recherchant des tuto ou sur livres de formations, voilà ce que je fais :

Le formulaire montre maintenant les informations du formulaire ainsi que les items facturés. Mais il ne montre pas le total de la facture. Il faut ajouter un champ calculé pour le voir. La prochaine partie consiste à ajouter un champ calculé pour voir le total.

*Retournez en mode création en appuyant sur le bouton .
OU

*
Du menu Affichage, sélectionnez l'option Mode création.

*Faites un double-clic sur le sous-formulaire.

Le sous formulaire apparaît. Il faut ajouter un champ calculé dans l'en-tête ou le pied du formulaire. Pour cet exemple, il sera ajouté dans le pied de formulaire. Pour agrandir le pied de formulaire.

*Placez le pointeur au bas de la barre Pied de formulaire.

Le pointeur devrait changer de forme.

*En gardant un doigt sur le bouton gauche de la souris, déplacez le pointeur vers le bas.

La zone du pied de formulaire va s'agrandir. Il faut qu'il soit assez grand pour ajouter un champ calculé.

*De la barre d'outils, appuyez sur le bouton .
*
Cliquez dans la zone du pied de formulaire.

Un champ vide va apparaître dans le pied de formulaire. Il faut maintenant ajouter la formule pour calculer le total et lui donner un nom significatif.

*Cliquez une première fois sur le nouveau champ.
*
Cliquez une seconde fois dans le champ.

Vous pourrez ensuite écrire la formule requise.

*Écrivez la formule suivante: =somme(stotal) .
*
Appuyez sur la touche Entrée.

Comme dans Excel, les formules des champs calculés que l'on retrouve dans des formulaires ou des états commencent toujours avec le signe "=". Cette formule va additionner les valeurs de tous les enregistrements stotal. Il faut maintenant donner un nom significatif à ce nouveau champ calculé.

*Placez le pointeur sur le nouveau champ.
*
Appuyez sur le bouton droit de la souris.
*
Du menu contextuel, sélectionnez l'option Propriétés.

*Changez le contenu de la case Nom à TotalItems.
*
Fermer la fenêtre des propriétés en appuyant sur le bouton .

Puisque ce champ a été placé soit dans dans l'en-tête ou le puied du formulaire, il va maintenant faire la somme de tous les enregistrements de la table ou de la requête. Si ce même champ aurait été placé dans la zone détail, il aurait fait la somme que d'un seul enregistrement. C'est pour cette raison qu'il était important de placer ce champ dans l'en-tête ou le pied du formulaire. Ces zones permettent d'accomplir des opérations sur tous les enregistrements au lieu d'un seul.

*Fermez le sous-formulaire en appuyant sur le bouton

Ajouter le calcul du sous-formulaire dans le formulaire principal

Dans l'exercice précédent, nous avons ajouté un champ appelé TotalIems qui fait le total de tous les enregistrements s'appelle TotalItems. Il suffit maintenant de l'ajouter au formulaire Facture pour voir le total.

Nous sommes maintenant de retour au formulaire Facture. Il faut ajouter une référence au champ TotalItems dans ce formulaire pour voir le total des items de cette facture.

*Ajoutez un champ en dessous du sous-formulaire en appuyant sur le bouton .
*
Placez le pointeur par-dessus le nouveau champ.
*
Appuyez sur le bouton droit de la souris.
*
Du menu contextuel, sélectionnez l'option Propriétés.

*Placez le pointeur dans la case Source contrôle.
*
Cliquez sur le bouton ayant trois petits points à la droite de la case.

Cela va activer le générateur d'expression. Il faut spécifier à Access l'endroit où se trouve le champ TotalItems. Ce champ se retrouve dans le sous-formulaire RFactures-Items.

*De la case de gauche, faites un double-clic sur le dossier Facture.
*
Faites un double-clic sur le dossier Rfactures-Items sous-formulaire.
*
De la case du milieu, sélectionnez le champ TotalItems.
*
Appuyez sur le bouton Coller.
*
Appuyez sur le bouton OK.
*
Appuyez sur la touche Entrée.
*
Changez le texte qui vient avec le champ à Total.

Le bouton OK choisi le champ. La touche Entrée confirme la formule. La case sera vide si vous ne faites pas ces deux opérations. Le total de la facture devrait apparaître la prochaine fois que vous afficherez le formulaire.

*De la barre d'outils, appuyez sur le bouton .
OU

*
Du menu Affichage, sélectionnez l'option Mode formulaire.

Le total est bien là. Mais va-t-il se mettre à jour si on change une valeur?

*Placez le pointeur dans la case quantité de la quatrième ligne du sous formulaire (Planche à neige).
*
Changez la quantité vendue de 4 à 5.
*
Déplacez le pointeur vers le haut.

Le total du formulaire se met à jour lorsque vous changez d'enregistrement.

Malheureusement, cela ne fonctionne pas, j'ai un message "#erreur" quand je reviens en mode affichage.

Quelqu'un pourrait m'aider SVP.

Publicité
rj390111
 Posté le 25/05/2011 à 14:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

L'explication m'a l'air correcte, dans Access le message #Erreur" se produit quand on veut faire la somme de champs dont un ou plusieurs champ(s) sont Null (vide) ou quand il n'existe pas encore d'enregistrement (donc pas de champ à additionner)

N'est-ce pas le cas pour vous.

lg.lydia
 Posté le 25/05/2011 à 19:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Merci pour ces informations.

Pourtant, aucun champs n'est vide et le message "#erreur" n'est que dans le champs total dans le formuaire, le champs total dans le pied du sous-formulaire est vide...

rj390111
 Posté le 26/05/2011 à 05:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Ceci explique cela c'est sans doute à cause du champ vide du sous formulaire que vous avez #Erreur dans l'autre.

Qu'y-a-t'il comme formule dans le champ (vide) du sous formulaire?

Si on imagine que les champs du sous formulaire à additionner ont comme nom Montant_HT, dans le champ du pied de sousformulaire vous devez avoir la formule

=SOMME([Montant_HT])

Et si aucun champ Montant_HT du sous formulaire n'est Null le total doit apparaître dans le pied du sous formulaire.



Modifié par rj390111 le 26/05/2011 05:54
lg.lydia
 Posté le 30/05/2011 à 21:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Bonsoir,

dsl d'avoir été si longue..

je veux additionner les champs "TOTALLI" correspondant au total des lignes, donc ma formule dans le champ (vide) du pied du sous-formulaire est =SOMME([TOTALLI])

Dans ma version test, le calcul du total des lignes s'effectue correctement et aucune ligne n'est vide. Malgré cela, le total ne s'affiche pas...

Les champs ont le même format (monétaire, euros, décimal).

Ce dysfonctionnement peut être du a autre chose qu'un champ vide ?

Bonne soirée.

Lydia

rj390111
 Posté le 31/05/2011 à 11:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Je soupconne que le champ TotalI est un champ indépendant qui contient comme source =[NomChamp1]+[NomChamp2]+... et il vous affiche bien le résultat de la ligne.

Indépendant veut dire qui ne fait pas partie de la table, mais qui est ajouté dans le formulaire pour afficher un calcul dans votre cas.

Seulement dans ce cas effectivement un champ dans le pied de formulaire qui reprend comme source =SOMME([TotalI]) affiche #Erreur

Ce qu'il faut faire c'est inclure le champ TotalI dans la requête qui est la source du formulaire en tant que champ calculé.

Pour ce faire vous ajoutez dans une nouvelle colonne de la requête TotalI : [NomChamp1]+[NomChamp2]+...

A ce moment dans le pied du formulaire le champ qui a comme source =SOMME([TotalI]) affichera bien le résultat.

Si votre formulaire n'est pas alimenté par une requête mais directement par la table vous devez céer un requête à partir de la table pour pouvoir créer le champ calculé.

J'espère avoir été clair.

lg.lydia
 Posté le 31/05/2011 à 13:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

Je sais comment faire une requête pour effectuer des calculs. Mais je vous avouerai que j'ai un peu de mal à voir comment utiliser cette requête pour un champs du formulaire...

rj390111
 Posté le 31/05/2011 à 15:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re,

Votre formulaire est-il basé sur une table ou sur une requête elle même basée sur la table?

rj390111
 Posté le 31/05/2011 à 16:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Un exemple simple

http://www.cijoint.fr/cjlink.php?file=cj201105/cijbEPi4Kz.zip

Si besoin je peux encore fournir des explications mais pas avant demain. N'hésitez pas.

Publicité
lg.lydia
 Posté le 31/05/2011 à 16:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvelle astucienne

mon formulaire est basé sur 4 tables :

- la table client (RS...)

- la table facture (N° de facture, date, total facture...)

- la table article (Ref article, PU...)

- la table ligen facture qui fait la relation entre la table facture et la table article (Ref article, N° de facture), j'ai ajouté les champs quantité et total ligne dans cette table

Je regarde ce soir votre lien...

Encore merci pour votre aide et vos explications...

PS : je peux vous transmettre le schéma des relation entre ces tables faisant apparaitre les champs de chacune des tables si vous le souhaitez...

castours
 Posté le 13/08/2012 à 00:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Bonjour

Si votre probleme n'est pas résolu, il faut employé la fonction Nz dans la formule de calcul.

Cette fonction transforme un champ vide en zéro. Access calcule avec les zéros.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Calculer % de sous-total dans TCD 2007
Quel est l'équivalent de l'outil DataGrid dans access 2007
formules dans Access 2007
Bouton de commande dans Access 2007
Valeur automatique dans une table access 2007
Access 2007, champs plusieurs table dans form.
convertir un nombre en lettre dans access 2007
calculer tva 19.6 % dans exel 2007
N' importe ou dans le champ Access 2007
Enregistrement des modifs dans Access 2007
Plus de sujets relatifs à calculer le total d''une facture dans Access 2007
 > Tous les forums > Forum Bureautique