IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

[Table[Form]Ajouter une addition dans une zone de texte et la renvoyé dans une table.


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut [Table[Form]Ajouter une addition dans une zone de texte et la renvoyé dans une table.
    J'utilise un formulaire (ayant comme source tblVaccins)sur lequel ce retrouve plusieurs (18) champs de type monétaire. J'ai ajouté une zone de texte indépendante(nommé "TotalArgVist") qui calcul le total des 18 champs avec le code suivant sous la source de contrôle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Nz([PrixPOLIO];0)+Nz([PrixCholera];0)+Nz([PrixEJ];0)+Nz([PrixFJ];0)+Nz([PrixHEPA];0)+Nz([PrixHEPB];0)+Nz([PrixINFLUENZA];0)+Nz([PrixMENACTRA];0)+Nz([PrixMENINGITE];0)+Nz([PrixPPD];0)+Nz([PrixRAGE];0)+Nz([PrixTD];0)+Nz([PrixRRO_MMR];0)+Nz([PrixTBE];0)+Nz([PrixTDP];0)+Nz([PrixTYPHOIDE];0)+Nz([PrixVARICELLE];0)+Nz([PrixPNEUMOVAX];0)
    Le tout fonctionne à 100%. J'aimerais que le calcul en question soit inscrit dans ma table Vaccin sous un champs de type monétaire nommé "Total pour la visite". Ce qui me permetterais par la suite de faire quelques requête en utilisant ce calcul. Alors ma question est la suivante. Peu on à l'aide d'un code affecter la valeur obtenue dans ma zone de texte indépendant "TotalArgVist". Et la renvoyer dans ma table "tblVaccins". Ou simplement d'informer le champs Total pour la visite" qu'il prennent la valeur de la zone de texte indépendante "TotalArgVist".

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Tu ne cherches pas beaucoup... Tu travailles sur la table dont tu veux modifier un champ. Dans ce cas il suffit d'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Champ_A_Modifier=Me.Champ_Calculé
    Sur l'événement de ton formulaire Activation par exemple, ou, et aprés mise à jour d'un champ de ton formulaire, voir pour quelques "Requery" si besoin. Si tu veux garder la maitrise cette action peut se déclencher via un bouton.

    Mais mettre dans une table le résultat d'un calcul n'est pas recommandé. Les résultats sont destinés à varier et non à rester statiques; Et de surcroît nous sommes en perpétuel recherche de réduction de la taille de nos bases.

    Cordialement.
    Questions techniques par MP
    Le peu que je sais, c'est à mon ignorance que je le dois.
    ...............................................................................Sacha Guitry

  3. #3
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Hello,


    Suis d'accord avec les remarques de francishop et si je peux me permettre un conseil c'est que tes 18 champs ne devraient pas être des champs mais des enregistrements d'une table tiers, qui reprendrait le no de visite et un no de vaccin. (FK sur table Visites et FK sur table Vaccins)

    Ta table Vaccin contiendrait tes 18 enregistrements

    NoVaccin - Description - Prix
    1-Polio-50
    2-Cholera-120
    ...

    L'avantage, c'est que si survient un 19ème vaccin, tu n'as pas besoin de modifier ton formulaire, ta formule de calcul....

    Bonne journée

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Points : 75
    Points
    75
    Par défaut
    Merci des conseils , j'avais d'utiliser le code Me.champ = Me.autrechamp.
    Cependant j'avais un message d'erreur. Pour ce qui est des calculs c'est que mon patron veux certaines choses qui ne sont pas trop standard lors d'une création de base de données.

    Mais merci encore
    Citation Envoyé par mcdotta
    Hello,


    Suis d'accord avec les remarques de francishop et si je peux me permettre un conseil c'est que tes 18 champs ne devraient pas être des champs mais des enregistrements d'une table tiers, qui reprendrait le no de visite et un no de vaccin. (FK sur table Visites et FK sur table Vaccins)

    Ta table Vaccin contiendrait tes 18 enregistrements

    NoVaccin - Description - Prix
    1-Polio-50
    2-Cholera-120
    ...

    L'avantage, c'est que si survient un 19ème vaccin, tu n'as pas besoin de modifier ton formulaire, ta formule de calcul....

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle] inserer les données saisies dans les zones de textes dans une table sous oracle
    Par sara-souad-wf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/09/2009, 11h16
  2. Réponses: 6
    Dernier message: 12/12/2006, 18h58
  3. Réponses: 6
    Dernier message: 02/10/2006, 12h13
  4. [Débutant] Utilisation d'une valeur de la zone de texte dans une requête
    Par oceanediana dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 13/07/2006, 10h42
  5. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo