Comment actualiser une table mémoire en triant
Stagiaire WDF
Inscrit:
07/05/2006 20:17
Post(s): 31
Bonjour,

je ne sais pas comment faire pour trier et faire des calculs sur une table. Je m'explique: J'ai plusieurs boutons sur lesquels un article est assigné, à chaque fois que je clique sur un des ces boutons il ajoute son article dans ma table mémoire.

Après clique j'obtiens la liste suivante:

qte n°aRT p.TOT
1 ART-100 10.00
1 ART-100 10.00
1 ART-100 10.00
1 ART-101 20.00
1 ART-101 20.00
1 ART-101 20.00



Comment faire pour cas chaque clique une procédure s'exécute et addtionne la qte et le prix par article pour obtenir qu'une seule ligne par article soit:

3 ART-100 30.00
3 ART-101 60.00

Merci pour votre aide

Contribution le : 21/06/2006 06:16
Créer un fichier PDF de la contribution Imprimer


Re: Comment actualiser une table mémoire en triant
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

pour ajouter les article comme vous désirez le faire il faut proceder de la facon suivante:

vous devez disposer d'une table ici nommé 'Table'
puis d'au moins 3 colonnes nommés par exemple comme ceci
- Colonne Article : colArticle
- Colonne Quantité : colQte
- Colonne Total : colTotal


ensuite il vous faux au moins 2 champs de saisie :
- txtArticle : Chaine de caractères
- txtTotal : Numérique


Puis enfin un bouton qui va permettre d'ajouter les informations à votre table.
- cmdAjoute

Le code va donc se trouver dans le bouton cmdAjoute.
//Clic sur cmdAjoute

//On test pour savoir si les champs ont été renseignés
Si SansEspace(txtArticle) = "" Alors Retour
Si txtTotal = 0 Alors Retour

//On recherche pour savoir si le produit existe dans la table
Indice est un entier
Indice = TableCherche(colArticle,txtArticle,Vrai)
//Vrai permet une recherche à l'indentique
Si Indice <> -1 Alors
 //L'article existe dans la table
 //On va ajouter quantité et valeur
 TableSelectPlus(Table,Indice) //On se positionne sur la ligne
 colQte += 1
 colTotal += txtTotal
Sinon
 //L'article n'existe pas on l'ajoute
 TableAjoute(Table,txtArticle + TAB + "1" + TAB + txtTotal)
Fin

//Maintenant on tri la table
//Tri Croissant sur la colonne Article
TableTri(Table,"+colArticle")


Code Saisi à la volée et peut comporter des erreurs.

Contribution le : 21/06/2006 10:58
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comment actualiser une table mémoire en triant
Stagiaire WDF
Inscrit:
07/05/2006 20:17
Post(s): 31
MERCI, mais c'est pas excatement ceci. Je m'explique:

J'ai 12 boutons pour 12 articles différents, sur chaque de ces boutons j'ai une procédure qui ajoute l'article, ainsi que sa quantité fixe dans une table mémoire.
Dans le principe c'est une sorte de caisse enregistreuse..

Après plusieurs clique sur le même bouton je me retrouve avec les lignes:

N°Art Qte
ART-101 1
ART-101 1
ART-101 1
ART-101 1
ART-102 2
ART-102 2

=> Jusqu'ici j'ai réussi..



J'aimerais ajouter une procédure dans mon bouton qui rassemble les qtes d'articles identiques pour arriver à une ligne:

ART-101 4 2.5 10.00
ART-101 2 6 12.00


Cette procédure va chercher le prix de vente de l'article dans le fichier article et additione les qte et donne un prix total.

Ensuite lorsque que mon ticket est terminé:

je clique sur le bouton valider le contenu de la table est transférer dans le fichier commande.


Merci pour ton aide

Contribution le : 21/06/2006 13:03
Créer un fichier PDF de la contribution Imprimer


Re: Comment actualiser une table mémoire en triant
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Je ne vois pas ce que cela change avec le code fourni !

il ne vous suffit qu'a modifier pour remplacer les deux champs txtArticle et txtTotal par le contenu retourné par tes boutons.

Le traitement au niveau de la table reste le meme
Si j'ai indiqué deux champs de saisie c'est simplement pour que mon exemple soit didactique.

Si vous comprennez le fonctionnement il ne vous restera plus qu'a l'adapter à vos besoin.

Contribution le : 21/06/2006 13:13
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comment actualiser une table mémoire en triant
DSI WDF
Inscrit:
13/02/2006 16:52
Post(s): 266
Sinon, possibilité de modifier la ligne avec la fonction

TableModifieLigne(..)

Le principe de fonctionnement est simple...

1/ On récupère le code article traité
2/ On regarde s'il existe déjà dans la table avec la fonction TableCherche(..)
3/ 2 CAS :
* Trouvé : Tu te positionnes sur la ligne de l'indice retourné(tableSelectPlus(Table,MonIndice), Tu modifie la valeur de ta ligne ( TableModifieLigne(...)
* Pas Trouvé : Tu fais directement un TableAjouteLigne(...)
4/ Ensuite tu actualise ta table ( tableAffiche(...))
5/ Enfin tu trie ta table ( tableTrie(...))

Voilà je viens de t'expliquer plus clairement l'exemple qui t'as été donnée précédemment.

J'espère avoir pu t'aider...

Tiens nous au courant !!!

Contribution le : 22/06/2006 08:28
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