[Résolu] table memoire en windev (débutant)
Stagiaire WDF
Inscrit:
02/11/2007 11:15
Post(s): 20
Bonjour,

je veux faire une table pour saisir des ventes.


J'ai une table mmoire(tablememo) avec 5 colonnes: code(article),libell,prix de vente,quantit,total.
J'ai un fichier qui contient: code article, le libell, et le prix de vente.
j'ai un champs (code) pour saisir.

Mon but est de saisir un code(article) dans le champs et une quantit dans la colonne pour obtenir un "total" de la ligne.
Apres je veux encore saisir un 2-ime "code" etc. A la fin faire le total des saisies de la colonne "total" pour les enregistrer tout dans un autre fichier.


Si je saisie le code(article) dans le champs(code), le libell et le prix de vente sont affichs dans ma table. Si j'ajoute le nombre (dans ma colonne "quantit)") je veux avoir le "total" montant de cette article.
Pour la premire ligne, pas de problme, mais quand je saisie un deuxime "code" (etc), ca ne marche plus: les colonnes "code" + "libell" + "prix de vente" sont ok; mais les colonnes
"quantit" et "total" marchent pas ou ne sont plus dans la ligne correspondante.

J'ai cherch et cherch mais je ne trouve pas (dbutant probablement)

Merci beaucoup d'avance pour votre aide.
Keith

Voici mes codes:

1-CHAMPS DE SAISIE: Sortie de Sai_Saisie1

HLitRecherche(ART,CODE_ART,SAI_Saisie1)
SI PAS H.Trouve ALORS RepriseSaisie(SAI_Saisie1)
SI TableAjoute(tablememo,ART.CODE_ART + TAB + ART.LIBELLE + TAB + ART.PX_VENTE + TAB + QUANTITE + TAB + TOTAL) ALORS

FIN
tablememo.QUANTITE=0
tablememo.TOTAL=0
SAI_Saisie1=0

Pour viter des erreurs j'ai mis 0 comme default dans les champs saisir.

2-TABLE colonne TOTAL: Entre de TOTAL:
tablememo.TOTAL=tablememo.QUANTITE*tablememo.PRIX DE VENTE

Sortie de TOTAL:
RepriseSaisie(SAI_Saisie1)

Contribution le : 02/11/2007 11:21

Edité par drcharly93 sur 5/11/2007 1:37:03
Créer un fichier PDF de la contribution Imprimer


Re: table memoire en windev (débutant)
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Certes vous n'utilisez peu être pas la bonne méthode
Vous utilisez une table mémoire, ce qui veut dire que tous est géré en mémoire, cette table doit avoir la propriété saisie en cascade coché puis une procédure CalculPrix()
PROCEDURE CalculPrix()
Si SansEspace(TableMemo.CODE_ART) = "" Alors 
 Info("Code Article obligatoire !")
 RepriseSaisie(TableMemo.CODE_ART)
Fin
Si pas HLitRecherche(ART,CODE_ART,SAI_Saisie1[TableMemo]) Alors
  Erreur("Code Article innexistant !")
  RepriseSaisie(TableMemo.CODE_ART)
Fin
TableMemo.CODE_ART = ART.CODE_ART
TableMemo.ART_LIBELLE = ART.ART_LIBELLE
TableMemo.ART.PX_VENTE = ART.ART.PX_VENTE
TableMemo.TOTAL = TableMemo.ART_PX_VENTE * TableMemo.QUANTITE

Une procédure Pour Afficher le total de la saisie
Le champ de totalisation s'appel dans mon exemple TotalGeneral
PROCEDURE Totalisation()
Ind est un entier
nTotal est un Monétaire
nLigne est un entier = TableOccurrence(TableMemo)
POUR Ind = 1 a nLigne
 nTotal += TableMemo.TOTAL
Fin
TotalGenerale = nTotal

Dans le bloc Sortie de TableMemo.CODE_ART et TableMemo.QUANTITE
CalculPrix()

Ensuite pour enregistrer la table il vous faudra la reparcourir pour enregistrer chacune des lignes.

Contribution le : 02/11/2007 14:38
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: table memoire en windev (débutant)
Stagiaire WDF
Inscrit:
02/11/2007 11:15
Post(s): 20
Merci beaucoup pour votre réponse,drcharlie93!!!!

Partie 1 (procédure calculprix) marche, magnifique.
Partie 2 (procedure totalisation): le montant n'est pas bien calculé, c'est à dire: il-y-a un montant mais ce n'est pas la somme correcte. J'ai mis cette procédure dans le code de la colonne "total": sortie de total.

Contribution le : 02/11/2007 22:09
Créer un fichier PDF de la contribution Imprimer


Re: table memoire en windev (débutant)
Stagiaire WDF
Inscrit:
02/11/2007 11:15
Post(s): 20
Trouvé!!
Si j'ajoute [Ind] aprés la ligne: nTotal +=Tablememo.TOTAL
Ca marche!!
Encore une fois merçi pour votre aide,drcharlie93!!!!






Dans le code de la "procédure totalisation":
PROCEDURE Totalisation()
Ind est un entier
nTotal est un Monétaire
nLigne est un entier = TableOccurrence(TableMemo)
POUR Ind = 1 a nLigne
nTotal += TableMemo.TOTAL[Ind]
Fin
TotalGenerale = nTotal

Contribution le : 03/11/2007 19:03
Créer un fichier PDF de la contribution Imprimer


Re: table memoire en windev (débutant)
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Vous avez bien vu, j'avais oublié l'indice de la ligne sur la colonne total et mon code à multiplié le montant de la premiere ligne de la colonne total

Contribution le : 05/11/2007 01:36
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2