Champs calculé sur formulaire et sous formulaire

Résolu/Fermé
radio48 Messages postés 9 Date d'inscription vendredi 10 mai 2013 Statut Membre Dernière intervention 3 janvier 2016 - 10 mai 2013 à 09:05
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 12 mai 2013 à 22:54
Bonjour,
je construis un programme pour suivre la gestion des chèques d'une association. j'ai deux tables (T_chèque avec 5 champs (code chèque; (numauto), nom payeur, banque, date saisie, montant paye)) et T_catégorie (avec 3 champs (code categorie (numerique) catégorie, montant catégorie)). les deux tables sont en relation (un - plusieurs) par les codes.
j'ai construis un formulaire (F_chèque) basé sur T_chèque, et un s/f (s/f_catégorie) basé sur T_catégorie.
Dans le s/f j'ai un total des montant catégorie (somme(montant catégorie)).
Je voudrai contrôler que le montant paye du F_chèque soit égal à la somme(montant catégorie) du s/f.
Je n'arrive pas à trouver la bonne formule à appliquer dans les propriétés de "montant catégorie" du s/f, dans la procédure événementielle "sur sortie".
Quelqu'un peut il m'aider?
Je vous remercie par avance.
A voir également:

7 réponses

Bonsoir,
La question que je me pose est de savoir si vous avez bien compris la question des liaisons Un à Plusieurs et des sous-formulaires qui peuvent lui être liée. Si j'ai bien compris la construction de votre base telle que vous la décrivez, vous attachez un sous-formulaire "Catégorie" au formulaire "Chèques", mais cela signifie que vous avez l'intention d'attacher un nbre n catégories à chaque chèque. La chose est étrange, l'intuition première est que chaque catégorie pourrait regrouper n chèques d'autant de valeurs, mais pas l'inverse. Et c'est là que je suis étonné. Habituellement par exemple, si on a une fichier d'un établissement scolaire, on pourra avoir un formulaire pour les classes et un sous-formulaires pour les étudiants, lesquels seront attachés à chacune des classes
Mais alors plusieurs questions suivent. Si chaque chèque appartient à une et une seule catégorie, est-il nécessaire de les regrouper dans un formulaire exprès, et la seule indication de la catégorie à laquelle il est rattaché ne suffit-il pas.
Par ailleurs, pour ce qui est de calculer la valeur globale des chèques d'une même catégorie, il me semble qu'une solution serait d'avoir un contrôle dans le pied ou l'entête de formulaire avec une formule du type:
ValeurGlobaleChèqueCategorie = SomDom(Valeur;T_Chèque;Catégorie=forms!FormCheque!Catégorie)

Bonne suite
0
radio48 Messages postés 9 Date d'inscription vendredi 10 mai 2013 Statut Membre Dernière intervention 3 janvier 2016
11 mai 2013 à 10:57
Bonjour,
Pour répondre à vos interrogations:
une personne "x" fait un chèque de x € pour l'achat de fournitures; (ces infos sont dans le formulaire principal: nom du payeur, sa banque et le montant paye.
Nous trouvons le détail des fournitures achetées ainsi que leur prix dans le sous formulaire: catégorie, montant catégorie et un champ calculé (somme(montant catégorie).
nous avons donc un montant payé (formulaire principal).
et une somme(montant catégorie) sur le sous formulaire.
je voudrai introduire un contrôle conditionnel (si ([montant payé]<>somme(montant catégorie]) then msgbox " il faut vérifier les montants" end if
le programme fonctionne bien sauf pour ce contrôle.
merci de votre aide
cordialement
N.D
0
Il faudrait voir la bête.
Merci d'envoyer par cjoint.com
0
radio48 Messages postés 9 Date d'inscription vendredi 10 mai 2013 Statut Membre Dernière intervention 3 janvier 2016
12 mai 2013 à 07:58
Bonjour,
Voici le programme "gestion des chèques" à consulter sur cjoint.com
http://cjoint.com/?3EmhXyXfjlt</code>

Bonne réception

Cordialement
N.D
0
Lien indiqué comme non disponible!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
radio48 Messages postés 9 Date d'inscription vendredi 10 mai 2013 Statut Membre Dernière intervention 3 janvier 2016
12 mai 2013 à 11:20
Re_bonjour,

Voici un nouveau lien
https://www.cjoint.com/?3EmlofgwboK

merci de votre patience

N.D
0
Quelle version de Access? je vois " .mdb"
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
12 mai 2013 à 12:22
Bonjour
Le fichier mdb n'est pas exploitable directement par Cjoint car il n'accepte pas ce format.
Il faut qu'il soit compressé en zip puis le mettre sur cjoint
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
12 mai 2013 à 22:54
Bonjour
La base ne fonctionnera pas correctement car la relation est mauvaise. Il te faut un table Emteur de Cheque. La somme par categorie se calcule dans un formulaire ou dans une requete etle resultat ne s'affiche pas dans une table.
0
radio48 Messages postés 9 Date d'inscription vendredi 10 mai 2013 Statut Membre Dernière intervention 3 janvier 2016
12 mai 2013 à 12:41
re,
il s'agit de access 2000.

cordialement

N.D
0
Bonjour Castours, Désolé mais j'ai ouvert cette base sans problème.

Radio48, Tes explications sont un peu confuses, mais pour répondre à ta question: " formule à appliquer dans les propriétés de "montant catégorie" du s/f,"

Il te faut une formule du type: Somme(Formulaires!NomFormulairePrincipal!NomChampSsFormulaire.Formulaire!MontantCatégorie)
Attention: le 1er "formulaires" est au pluriel et indique qu'il s'agit d'un formulaire principal, les autres, 1er, 2ème, 3ème, sous-formulaires sont au singulier et indiquent à Access qu'il s'agit de sous-formulaires.
Le nom que j'emploie "NomChampSsFormulaire" est le nom du contrôle qui reçoit le sous-formulaire et non pas le nom du Ss-formulaire lui-même.

Il est indispensable que pour ce genre de construction tu apprennes à utiliser l'assistant Générateur d'expression, il fait les 3/4 du travail pour toi sans se tromper et en plus t'apprend la construction des expressions
Bonne suite
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
12 mai 2013 à 22:48
Bonjour Tessel75
J'etais sur un autre pc mais chez moi cela fonctionne
0