| |
Membre enregistré 17 messages |
|
Posté le 21 janvier 2022 - 07:28 |
bonjour,
je n'arrive pas à trouver la solution à mon petit problème,
j'essaie de faire une petite application (trésorerie), je m'explique :
une colonne débit 100€ 55 € / une colonne crédit 20€ / une colonne solde 100€ 45€ 65€
à côté de cette table
je mets 3 champs correspondant à chacune des colonnes sai_débit sai_crédit sai_solde
je voudrais que dans la colonne solde à chaque ligne ajouter, il calcule au fur et à mesure que je rentre une nouvelle opération.
En vous remerciant. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 17 messages |
|
Posté le 23 janvier 2022 - 12:52 |
Bonjour personne ne peut répondre à ma question où est-ce que je me suis mal exprimé et personne ne comprend ce que je veux faire en vous remerciant |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 328 messages Popularité : +8 (10 votes) |
|
Posté le 23 janvier 2022 - 13:02 |
Bonjour.
Il faut créer une procédure globale a ta fenetre : solde_ligne Dans cette procedure tu fais col_solde = col_credit-col_debit
Tu appelle cette procedure en sortie de chaque colonne (debit credit).
Tu peux créer une procédure solde_general dans laquelle tu fais la somme de toutes tes lignes ou encore le faire directement via la table (ligne de somme)
Champs sai debit credit et solde sont inutiles |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 328 messages Popularité : +8 (10 votes) |
|
Posté le 23 janvier 2022 - 13:17 |
Je corrige ma réponse.
Si tes champs sai_débit sai_crédit sai_solde sont là pour stocker les totaux, alors tu les alimentes via la procédure solde_général |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 17 messages |
|
Posté le 23 janvier 2022 - 13:29 |
Bonjour Merci de te pencher sur mon problème le but des champs de pouvoir enregistrer de nouvelles opérations soit sur crédit soit sur débit mais aussi de pouvoir les modifier ça je sais le faire c'est de pouvoir avoir le solde chaque ligne que je ne connaissais pas je vais essayer de faire ce que tu me proposes |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 190 messages Popularité : +12 (12 votes) |
|
Posté le 23 janvier 2022 - 14:22 |
Bonjour
C'est un tout petit peu plus compliqué que cela car j'imagine que vous souhaitez le solde progressif (le solde d'une ligne n'a aucun intérêt en fait)
Du coup l'idée de la procédure est bonne mais pour le calcul du solde de la ligne I vous devez tenir compte du solde de la ligne I-1. Du coup vous devez balayer la table depuis le début et, si le N° de ligne est > 1 (et seulement si) prendre en compte le solde de la ligne précédente.
Pour balayer les ligne de la table vous pouvez utiliser une syntaxe du style
POUR TOUTE LIGNE I DE MaTable
FIN Pour atteindre le champ Solde de la ligne I vous pouvez utiliser la syntaxe
MaTable[I].Solde Essayez par vous même de créer ce code
-- Côme, Clairinfo |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 17 messages |
|
Posté le 23 janvier 2022 - 17:38 |
je débute donc ne vous moqué pas !!!
j'avais essayer avec sa!!!
j'ai essayé avec se que vous me proposer mais je pense que il y a quelques chose que je ne fait pas bien
inserer dans la procédure de la fenêtres :
POUR TOUTE LIGNE I DE TABLE_T_compt SI TABLE_T_compt[I].COL_Solde>1 ALORS COL_Solde=COL_Crédit-COL_Débit SINON SORTIR FIN FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 286 messages Popularité : +24 (28 votes) |
|
Posté le 23 janvier 2022 - 18:35 |
Bonsoir L'idéal serait par commencer par suivre le guide d'auto-formation Bien cordialement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 190 messages Popularité : +12 (12 votes) |
|
Posté le 23 janvier 2022 - 18:35 |
C'est le numéro de ligne (donc la variable I ) que l'on teste pour savoir si l'on est sur la première ligne de la table ou pas.
L'objectif est, comme si vous deviez faire le calcul à la main, de distinguer le calcul pour la première ligne (il n'y a pas de solde antérieur à prendre en compte) et le calcul pour les autre lignes.
Comprenez-vous le code que vous avez entré ? Il n'est pas cohérent avec l'objectif.
-- Côme, Clairinfo |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 889 messages Popularité : +227 (347 votes) |
|
Posté le 23 janvier 2022 - 19:43 |
Bonjour, Gemini1961 a écrit :
Bonsoir L'idéal serait par commencer par suivre le guide d'auto-formation
Avant l'auto-formation, il faut surtout relire les cours de programmation générales, entre autre les cors d'algorithmique. cf : Côme a écrit :
L'objectif est, comme si vous deviez faire le calcul à la main, de distinguer le calcul pour la première ligne (il n'y a pas de solde antérieur à prendre en compte) et le calcul pour les autre lignes.
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 17 messages |
|
Posté le 23 janvier 2022 - 21:23 |
Bonsoir j'ai trouvé une solution c'est peut-être pas la meilleur mais sa fonctionne en mettant la table en mémoire
affichage d'une ligne et dans sortie de ligne pour les modifications quand pensé vous ?
SI TABLE_T_compt=1 ALORS COL_Solde=COL_Crédit-COL_Débit SINON COL_Solde=COL_Solde[TABLE_T_compt-1]+COL_Crédit-COL_Débit FIN |
| |
| |
| | | |
|
| | |
| |
Posté le 23 janvier 2022 - 23:08 |
ca fonctionnera pour les ajouts de ligne, mais pas pour les modifs... Dans le cas d'une modif, il faut recalucler le solde de toutes les lignes suivantes aussi |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 17 messages |
|
Posté le 24 janvier 2022 - 11:32 |
bonjour merci qu'est ce que tu propose pour les modif stp |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 450 messages Popularité : +31 (43 votes) |
|
Posté le 24 janvier 2022 - 12:32 |
Bonjour
Il y'a la possibilité dans une colonne de ta table d'activer le calcul automatique ca se fait en un clic , donc il te suffit d'activer ce calcul pour chacune de tes 3 colonnes et tu aura la somme de chacune de tes colonnes.
cdlt
DG |
| |
| |
| | | |
|
| | |
| |
Posté le 24 janvier 2022 - 15:30 |
il faut sérieusement que tu commence par suivre le cours d'auto formation |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 190 messages Popularité : +12 (12 votes) |
|
Posté le 24 janvier 2022 - 17:31 |
Vous créez une procédure locale :
Procedure Maj_Solde() POUR TOUTE LIGNE I DE TABLE_Test SI I = 1 ALORS TABLE_Test[I].COL_Solde = TABLE_Test[I].COL_Debit - TABLE_Test[I].COL_Credit SINON TABLE_Test[I].COL_Solde = TABLE_Test[I-1].COL_Solde + TABLE_Test[I].COL_Debit - TABLE_Test[I].COL_Credit FIN FIN Vous appelez cette procédure en modification de COL_Debit, en modification de COL_Credit et, en suppression de ligne
SI la colonne Solde n'est pas stockée dans la table alors à l'ouverture de la fiche vous remplissez la table puis vous appelez Maj_Solde().
-- Côme, Clairinfo |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 190 messages Popularité : +12 (12 votes) |
|
Posté le 24 janvier 2022 - 19:30 |
J'ai oublié de préciser que ce type de code nécessite une table mémoire ou une table fichier chargée en mémoire
-- Côme, Clairinfo |
| |
| |
| | | |
|
| | |