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

WinDev Discussion :

Modifier un fichier ave données calculées dans une table.


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Modifier un fichier ave données calculées dans une table.
    bonjour

    voici la fiche :


    Jimerai de l aide pour pouvoir , lorsque que je valide la fiche , que les quantité(pour le lot) de chaque matiere matiere premiere soit retiré du stock de la matiere premiere en question.

    quel est la methode la plus simple?

    merci d avance pour votre aide

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Bonjour,

    Je ne comprend pas trop ta question.. Je vais essayer de te donner une réponse sur ce que j'ai comprit

    1. Tu veux soustraire la donnée de "Quantité (par lot)" à "Matière Première"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    POUR TOUTE LIGNE DE ta_table
     
    ma_table.col_matierepremiere =ma_table.col_matierepremiere - ma_table.col_quantié_pourlot
    FIN


    2. Tu veux supprimer la donnée "Quantité (pour le lot)"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR TOUTE LIGNE DE ta_table
    ma_table.col_quantité_pourlot = ""
    FIN

    Si ce n'est pas ça, éssaie d'être plus clair !

    @+

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    dans ta table il faut que tu stockes l'identifiant de la ligne dans la table de la base de données. Dans ce cas, tu parcours la table lorsque tu valides et tu fais une affectation du résultat dans ta colonne de stock comme te le propose gabcouture mais il faut aussi que tu enregistres la modification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    POUR TOUTE LIGNE DE ta_table
    ma_table.col_matierepremiere =ma_table.col_matierepremiere - ta_table.col_quantié_pourlot
    hmodifie(ma_table)
    FIN
    à bientôt,

    Nicolas

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour

    je vous remercie de m aider

    desolé de pas avoir été très clair je vais essayer de faire mieux.

    voici une capture un peu mieux détaillée.



    je vais essayer maintenant de vous expliquer le scenario.
    Un lot est une fabrication d'une quantité de produit.(ici 50kg d une crème solaire).
    un produit est composé dune certaine quantité de plusieurs matières premières .
    une matière première a un stock réel.

    J'aimerais en appuyant sur le bouton affecter au stock, soustraire dans le FICHIER MATIERE PREMIERE, pour chaque matière première,la quantité utilisée dans ce lot.

    Voici le code sur le bouton affecter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    POUR TOUTE LIGNE DE Table_1
    	Matiere_Premiere.StockReel=Table_1.reel_apres
    	EcranVersFichier()
    	HModifie(Matiere_Premiere)
     
    FIN
    mais cela de modifie pas le stock réel dans mon fichier Matierepremiere


    J'espère avoir été plus clair.

    merci d avance

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    j'ai oublié une partie ce matin : tu dois chercher l'enregistrement qui correspond à la ligne de la table que tu enregistres avec la fonction hlitrecherchepremier sur l'identifiant que tu as dans la table, si tu trouves alors tu modifies la valeur du stock et tu enregistres avec hmodifie. Pas besoin de ecranversfichier.

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Dans les paramètres de ta table, tu peux mettre valeur de retour : idmatierepremiere (id automatique de ton analyse)


    donc pour chaque ligne


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    POUR TOUTE LIGNE DE Table_1
    hlit(Matiere_Premiere,Table_1..valeur)
    Matiere_Premiere.StockReel=Table_1.reel_apres
    HModifie(Matiere_Premiere,table_1..valeur)
    FIN
    essaie ceci !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    je viens de tester , je dois mal m y prendre, voici mon code du bouton affecter au stock :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    HLitRecherchePremier(Matiere_Premiere,IDMatiere_Premiere,Matiere_Premiere.StockReel)
     
     
    SI HTrouve(Matiere_Premiere)=Faux ALORS
    	Erreur("matière première  non trouvé")
    	RETOUR
    SINON
    	POUR TOUTE LIGNE DE Table_1
    		Matiere_Premiere.StockReel=Table_1.reel_apres
    		HModifie(Matiere_Premiere)
     
    	FIN
    FIN

    cela me renvoi la fenetre erreur avec le message que j ai taper , matiere premiere non trouvé. et biensur le stock ne bouge pas.
    je pense que sa viens de mon hlitrecherchepremier.

    merci d avance si vous pourvez m aiguiller , je suis tres novice

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Met ceci dans ton code de ton bouton


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    POUR TOUTE LIGNE DE Table_1
    HLitRecherchePremier(Matiere_Premiere,Matiere_Premiere.nom,table_1.col_désignation)
    SI htrouve(Matiere_Premiere) ALORS
    hlit(Matiere_Premiere,HnumEnr())
    Matiere_Premiere.StockReel=Table_1.reel_apres
    HModifie(Matiere_Premiere)
     
    FIN
    FIN

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    merci beaucoup , grace a votre aide tout fonctionne comme je le souhaite .

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/06/2011, 15h18
  2. [WD15] Calcul dans une table fichier
    Par scarface38 dans le forum WinDev
    Réponses: 2
    Dernier message: 10/12/2010, 10h19
  3. Réponses: 2
    Dernier message: 27/06/2010, 09h57
  4. Données calculées dans une requpete croisée
    Par ac264 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/04/2010, 08h02
  5. Réponses: 3
    Dernier message: 09/09/2006, 13h24

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