Enregistrer un champ calculé dans une table

Résolu/Fermé
Geek-en-herbes - 13 févr. 2015 à 10:58
Kigarsk Messages postés 64 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 17 février 2015 - 16 févr. 2015 à 08:06
Bonjour,

D'après ce que j'ai lu sur le forum beaucoup le déconseille mais dans mon cas j'en ai absolument besoin car cela me permet de garder un historique.

J'ai lu pas mal de Topic sur le sujet et d'après ce que j'ai lu je dois utiliser une requête de MaJ mais je ne comprends pas comment elle fonctionne.

J'explique ma situation. J'ai un formulaire principal qui contient les informations sur des Redevables, parmi ces informations figure un champ calculé qui comprend la redevance que le redevable doit (calcul basé en partie sur un sous-formulaire dans mon formulaire, en partie sur mon formulaire).
Je souhaiterais rajouter un bouton qui permet d'enregistrer cette valeur dans une autre table qui comprendrait l'historique de tous mes redevables. Ainsi les informations que je souhaite mettre à jour via ce bouton sont :
- la clé du redevable (qui est une clé externe dans la table Historique)
- l'année où l'enregistrement a été fait (j'ai bien vu une formule de type year() )
- le champ calculé

Pourriez-vous m'aidez?
Merci d'avance


2 réponses

le meruvien Messages postés 1125 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 décembre 2024 40
14 févr. 2015 à 06:25
bonjour,
Dans ta table, tu ajoute un champ par exemple "Total", sur ton formulaire, aprés MaJ de ta saisie d'un montant, tu met une procédure avec:
Me!total = (le nom de ton champ du form)
0
Kigarsk Messages postés 64 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 17 février 2015 6
14 févr. 2015 à 12:26
Salut, ce n'est pas conseillé car cela ne correspond pas au principes meurisiens, cepandant il est possible de le faire !

Tu créer une table Historique
avec les champs :
- ID Redevable
- Année avec un default YEAR(CURRENTDATE()) de type char(4)
- Champs calculé

Ce qu'il veux dire que quand tu insert dans ta table tu fais un insert sur l'ID et le champ.

Pour les obtenir tu peux faire des Select * .... Where Annee='2015'

Voili voulou ! :)

Cordialment, KIGARSK
0
le meruvien Messages postés 1125 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 décembre 2024 40
14 févr. 2015 à 14:56
Salut Kigarsk,
Qu'es-ce que le principes meurisiens?? !-)
0
Kigarsk Messages postés 64 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 17 février 2015 6
14 févr. 2015 à 19:48
Bon je te la fais rapidement, dans le millieu professionel, les bases de données sont concues par une personne et généralement crées par une autre, on a des diagrammes qui different en fonction de l'etat de la base de données, (MCD/MLD)

Les personnes qui imaginent les bases de donnes doivent respecter certains principes (Les regles de MERISE == La modelisation UML) Ces regles disents enormement de choses (par exemple de la cas d'une bibliotheque si un livre appartient a UN ET UN SEUL genre alors tu retrouvera une clef etrangere dans ta table livre) merise (ou L'UML) et la "Norme" en ce qui concerne les bases de données :)

J'espere avoir été assez clair dans ma reponse

PS : Ah oui et du coup, L'UML dit : "on ne stocke pas de champs calculer"

dans ton cas, il s'agti d'un redevable, on presume donc que tu sait de quoi ta personne y est redevable, plutot que de stocker le champ calculer, tu devrai le calculer a chaque affichage

Stocker un champs calculer creer l'obligation d'avoir des declencheur sur les elements qui te permettent de calculer celui ci :/
0
le meruvien Messages postés 1125 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 décembre 2024 40 > Kigarsk Messages postés 64 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 17 février 2015
15 févr. 2015 à 05:51
Salut,
Oui, effectivement c'est bien pour les gens qui aprennent acces avec des cours, mais moi j'ignore ça, car j'ai appis access tout seul, par des forums et des livres!
En plus, il y a des occasion ou avoir le total dans la table était necessaire.
Merci tout de même, le principal est que mes bases marchent malgrès le non respect des règles!
roger
0
Kigarsk Messages postés 64 Date d'inscription samedi 14 février 2015 Statut Membre Dernière intervention 17 février 2015 6
16 févr. 2015 à 08:06
Oui, en effet même dans le monde "pro" on ne respecte parfois pas ces regles "on denormalise" notre bdd ^^
0