J'ai une table qui est remplie avec des factures sous la forme : Date / N°
Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes
les factures d'aout 2008, j'insère une ligne faisant un sous total. Le
problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES)
i++
SI i>1 ALORS
SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS
TableAjoute(TABLE_FACTURES,i+1)
COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois)
...
FIN
FIN
FIN
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
pmxk
Paul Géra a émis l'idée suivante :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-? Au niveau du code, tout a l'air normal ... Finalement, quel est le problème ?? :/ A+
Paul Géra a émis l'idée suivante :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N°
Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes
les factures d'aout 2008, j'insère une ligne faisant un sous total. Le
problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES)
i++
SI i>1 ALORS
SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS
TableAjoute(TABLE_FACTURES,i+1)
COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois)
...
FIN
FIN
FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-?
Au niveau du code, tout a l'air normal ...
Finalement, quel est le problème ?? :/
A+
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-? Au niveau du code, tout a l'air normal ... Finalement, quel est le problème ?? :/ A+
Roumegou Eric
pmxk a pensé très fort :
Paul Géra a émis l'idée suivante :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-? Au niveau du code, tout a l'air normal ... Finalement, quel est le problème ?? :/ A+
Vite dit ... sans trop réflêchir Ce ne serait pas parce que tu décales ton indice dans le tableau ? Pourquoi le POUR i et le i ++ ? (double emploi)
Utilise un POUR TOUT
-- Eric Roumégou Webmaster des wtablettes http://cerbermail.com/?qE7t4Qvilo (cliquez sur le lien ci-dessus pour me contacter en privé)
pmxk a pensé très fort :
Paul Géra a émis l'idée suivante :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N°
Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après
toutes
les factures d'aout 2008, j'insère une ligne faisant un sous total. Le
problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES)
i++
SI i>1 ALORS
SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS
TableAjoute(TABLE_FACTURES,i+1)
COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois)
...
FIN
FIN
FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-?
Au niveau du code, tout a l'air normal ...
Finalement, quel est le problème ?? :/
A+
Vite dit ... sans trop réflêchir
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Pourquoi le POUR i et le i ++ ? (double emploi)
Utilise un POUR TOUT
--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-? Au niveau du code, tout a l'air normal ... Finalement, quel est le problème ?? :/ A+
Vite dit ... sans trop réflêchir Ce ne serait pas parce que tu décales ton indice dans le tableau ? Pourquoi le POUR i et le i ++ ? (double emploi)
Utilise un POUR TOUT
-- Eric Roumégou Webmaster des wtablettes http://cerbermail.com/?qE7t4Qvilo (cliquez sur le lien ci-dessus pour me contacter en privé)
Juanito
Paul Géra a formulé ce lundi :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Bonjour,
Pour moi le TableAjoute() ajoute une ligne en fin de table, à moins que la table ne soit triée. Donc la nouvelle ligne ne doit pas être en i+1 mais à la fin.
Plutôt faire un TableInsere() non ?
Par contre, insérer une ligne dans la table va faire décaler l'ordre donc il faudra sauter une ligne.
Aussi, comme l'a dit Eric, il n'est pas souhaitable de faire un i++ dans la boucle "Pour ... A ... " car c'est déjà fait par cette boucle
Jean Cougnaud
Paul Géra a formulé ce lundi :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N°
Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes
les factures d'aout 2008, j'insère une ligne faisant un sous total. Le
problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES)
i++
SI i>1 ALORS
SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS
TableAjoute(TABLE_FACTURES,i+1)
COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois)
...
FIN
FIN
FIN
Merci pour votre aide.
PG
Bonjour,
Pour moi le TableAjoute() ajoute une ligne en fin de table, à moins que
la table ne soit triée. Donc la nouvelle ligne ne doit pas être en i+1
mais à la fin.
Plutôt faire un TableInsere() non ?
Par contre, insérer une ligne dans la table va faire décaler l'ordre
donc il faudra sauter une ligne.
Aussi, comme l'a dit Eric, il n'est pas souhaitable de faire un i++
dans la boucle "Pour ... A ... " car c'est déjà fait par cette boucle
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Bonjour,
Pour moi le TableAjoute() ajoute une ligne en fin de table, à moins que la table ne soit triée. Donc la nouvelle ligne ne doit pas être en i+1 mais à la fin.
Plutôt faire un TableInsere() non ?
Par contre, insérer une ligne dans la table va faire décaler l'ordre donc il faudra sauter une ligne.
Aussi, comme l'a dit Eric, il n'est pas souhaitable de faire un i++ dans la boucle "Pour ... A ... " car c'est déjà fait par cette boucle
Jean Cougnaud
Pascal ROY
Juanito a écrit :
Paul Géra a formulé ce lundi :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Bonjour,
Pour moi le TableAjoute() ajoute une ligne en fin de table, à moins que la table ne soit triée. Donc la nouvelle ligne ne doit pas être en i+1 mais à la fin.
Plutôt faire un TableInsere() non ?
Par contre, insérer une ligne dans la table va faire décaler l'ordre donc il faudra sauter une ligne.
Aussi, comme l'a dit Eric, il n'est pas souhaitable de faire un i++ dans la boucle "Pour ... A ... " car c'est déjà fait par cette boucle
Jean Cougnaud
Si la table n'est pas triée, tu peux utiliser TableInsere, je pense.
-- Pascal ROY (Service Informatique - SODALEC)
Juanito a écrit :
Paul Géra a formulé ce lundi :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date
/ N°
Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après
toutes
les factures d'aout 2008, j'insère une ligne faisant un sous total. Le
problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES)
i++
SI i>1 ALORS
SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS
TableAjoute(TABLE_FACTURES,i+1)
COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois)
...
FIN
FIN
FIN
Merci pour votre aide.
PG
Bonjour,
Pour moi le TableAjoute() ajoute une ligne en fin de table, à moins que
la table ne soit triée. Donc la nouvelle ligne ne doit pas être en i+1
mais à la fin.
Plutôt faire un TableInsere() non ?
Par contre, insérer une ligne dans la table va faire décaler l'ordre
donc il faudra sauter une ligne.
Aussi, comme l'a dit Eric, il n'est pas souhaitable de faire un i++ dans
la boucle "Pour ... A ... " car c'est déjà fait par cette boucle
Jean Cougnaud
Si la table n'est pas triée, tu peux utiliser TableInsere, je pense.
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Bonjour,
Pour moi le TableAjoute() ajoute une ligne en fin de table, à moins que la table ne soit triée. Donc la nouvelle ligne ne doit pas être en i+1 mais à la fin.
Plutôt faire un TableInsere() non ?
Par contre, insérer une ligne dans la table va faire décaler l'ordre donc il faudra sauter une ligne.
Aussi, comme l'a dit Eric, il n'est pas souhaitable de faire un i++ dans la boucle "Pour ... A ... " car c'est déjà fait par cette boucle
Jean Cougnaud
Si la table n'est pas triée, tu peux utiliser TableInsere, je pense.
-- Pascal ROY (Service Informatique - SODALEC)
pmxk
Roumegou Eric a formulé ce jeudi :
pmxk a pensé très fort :
Paul Géra a émis l'idée suivante :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-? Au niveau du code, tout a l'air normal ... Finalement, quel est le problème ?? :/ A+
Vite dit ... sans trop réflêchir
euh ... si j'ai réfléchit :-)
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Utilise un POUR TOUT
Gros naze :-)
Roumegou Eric a formulé ce jeudi :
pmxk a pensé très fort :
Paul Géra a émis l'idée suivante :
Bonjour,
J'ai une table qui est remplie avec des factures sous la forme : Date / N°
Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après
toutes
les factures d'aout 2008, j'insère une ligne faisant un sous total. Le
problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES)
i++
SI i>1 ALORS
SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS
TableAjoute(TABLE_FACTURES,i+1)
COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois)
...
FIN
FIN
FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-?
Au niveau du code, tout a l'air normal ...
Finalement, quel est le problème ?? :/
A+
Vite dit ... sans trop réflêchir
euh ... si j'ai réfléchit :-)
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas.
Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès
le début.
J'ai une table qui est remplie avec des factures sous la forme : Date / N° Facture / Montant
J'aimerai intégrer une ligne "SOUS-TOTAL" mensuel. Par exemple, après toutes les factures d'aout 2008, j'insère une ligne faisant un sous total. Le problème c'est que quand je fais une recherche, ça ne marche pas bien.
POUR i=1 A TableOccurrence(TABLE_FACTURES) i++ SI i>1 ALORS SI Gauche(COL_DateFacture[i-1],6)<>Gauche(COL_DateFacture[i],6) ALORS TableAjoute(TABLE_FACTURES,i+1) COL_LIBELLE[i+1]="TOTAL PERIODE DE "+DateVersMoisEnLettre(nMois) ... FIN FIN FIN
Merci pour votre aide.
PG
Tu dis "ça ne marche pas bien". :-? Au niveau du code, tout a l'air normal ... Finalement, quel est le problème ?? :/ A+
Vite dit ... sans trop réflêchir
euh ... si j'ai réfléchit :-)
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Utilise un POUR TOUT
Gros naze :-)
Roumegou Eric
pmxk a formulé la demande :
Vite dit ... sans trop réfléchir
euh ... si j'ai réfléchit :-)
je ne parle pas de toi. je parle de moi. Mais toi refléchis avant de nous balancer des fautes pareilles !
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
tu ne sais décidément pas lire ...
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas de jouer avec les indices.
Utilise un POUR TOUT
Gros naze :-)
pff!! lourd ce mec ! on se fait insulter maintenant.
Je pense que cela doit être possible avec un POUR TOUTE LIGNE DE TABLE2 mais je ne sais pas comment augmenter l'indice.
Voilà une solution testée.
imax est un entier MNTL1 est un entier=0 savDateMois est une chaîne i est un entier imax=Table2..Occurrence savDateMoisÚteVersChaîne(Table2.DateF[1],"AAAAMM") //1ere valeur POUR i=1 A imax SI DateVersChaîne(Table2.DateF[i],"AAAAMM")<>savDateMois ALORS // je suis en rupture TableInsèreLigne(Table2,i,"Total "+savDateMois,"",MNTL1) i++;imax++ MNTL1=0 FIN // je cumule mes valeurs ds les valeurs de sommes MNTL1+=Table2.Montant[i] savDateMoisÚteVersChaîne(DateF[i],"AAAAMM") FIN // POUR TOUTE LIGNE DE TABLE_FACTURE // Traitement dernière rupture TableInsèreLigne(Table2,Table2..Occurrence+1,"Total "+savDateMois,"",MNTL1)
-- Eric Roumégou Webmaster des wtablettes http://cerbermail.com/?qE7t4Qvilo (cliquez sur le lien ci-dessus pour me contacter en privé)
pmxk a formulé la demande :
Vite dit ... sans trop réfléchir
euh ... si j'ai réfléchit :-)
je ne parle pas de toi. je parle de moi. Mais toi refléchis avant de
nous balancer des fautes pareilles !
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
tu ne sais décidément pas lire ...
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas.
Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le
début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et
pas de jouer avec les indices.
Utilise un POUR TOUT
Gros naze :-)
pff!! lourd ce mec !
on se fait insulter maintenant.
Je pense que cela doit être possible avec un POUR TOUTE LIGNE DE TABLE2
mais je ne sais pas comment augmenter l'indice.
Voilà une solution testée.
imax est un entier
MNTL1 est un entier=0
savDateMois est une chaîne
i est un entier
imax=Table2..Occurrence
savDateMoisÚteVersChaîne(Table2.DateF[1],"AAAAMM") //1ere valeur
POUR i=1 A imax
SI DateVersChaîne(Table2.DateF[i],"AAAAMM")<>savDateMois ALORS
// je suis en rupture
TableInsèreLigne(Table2,i,"Total "+savDateMois,"",MNTL1)
i++;imax++
MNTL1=0
FIN
// je cumule mes valeurs ds les valeurs de sommes
MNTL1+=Table2.Montant[i]
savDateMoisÚteVersChaîne(DateF[i],"AAAAMM")
FIN // POUR TOUTE LIGNE DE TABLE_FACTURE
// Traitement dernière rupture
TableInsèreLigne(Table2,Table2..Occurrence+1,"Total
"+savDateMois,"",MNTL1)
--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
je ne parle pas de toi. je parle de moi. Mais toi refléchis avant de nous balancer des fautes pareilles !
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
tu ne sais décidément pas lire ...
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas de jouer avec les indices.
Utilise un POUR TOUT
Gros naze :-)
pff!! lourd ce mec ! on se fait insulter maintenant.
Je pense que cela doit être possible avec un POUR TOUTE LIGNE DE TABLE2 mais je ne sais pas comment augmenter l'indice.
Voilà une solution testée.
imax est un entier MNTL1 est un entier=0 savDateMois est une chaîne i est un entier imax=Table2..Occurrence savDateMoisÚteVersChaîne(Table2.DateF[1],"AAAAMM") //1ere valeur POUR i=1 A imax SI DateVersChaîne(Table2.DateF[i],"AAAAMM")<>savDateMois ALORS // je suis en rupture TableInsèreLigne(Table2,i,"Total "+savDateMois,"",MNTL1) i++;imax++ MNTL1=0 FIN // je cumule mes valeurs ds les valeurs de sommes MNTL1+=Table2.Montant[i] savDateMoisÚteVersChaîne(DateF[i],"AAAAMM") FIN // POUR TOUTE LIGNE DE TABLE_FACTURE // Traitement dernière rupture TableInsèreLigne(Table2,Table2..Occurrence+1,"Total "+savDateMois,"",MNTL1)
-- Eric Roumégou Webmaster des wtablettes http://cerbermail.com/?qE7t4Qvilo (cliquez sur le lien ci-dessus pour me contacter en privé)
Moua
Roumegou Eric avait soumis l'idée :
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas de jouer avec les indices.
Entièrement d'accord. Pour les problèmes de lisibilité du code, des problèmes d'optimisation d'utilisation des pointeurs d'accés à la mémoire, il est préfèrable d'utiliser les variables plutôt que de jouer avec les indices, surtout pour gérer des ruptures. Utiliser un indice dans un tableau, c'est utiliser un déplacement mémoire à partir d'une position (Adresse mémoire de début de tableau plus déplacement donné par l'indice), utiliser une variable c'est utiliser un pointeur directement vers l'emplacement de cete variable.
Dans le même ordre d'idée, la variable indice utilisée doit être manipulée par la fonction principale de la boucle, pas avec des opérations changeant sa valeur. Dans ce cas, il faut utiliser une autre variable pour les indices calculés à partir de la valeur donnée par la fonction de boucle (et contrôler la valeur du nouvel indice par rapport aux bornes du tableau). Un point d'entrée, un point de sortie, déclaration et typage des variables en début de procédure, unicité d'utilisation des variables, sans oublier la normalisation de nomage des variables et fonctions. Que de règles de bases permettant d'avoir du code esthétique !
Roumegou Eric avait soumis l'idée :
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas.
Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le
début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas
de jouer avec les indices.
Entièrement d'accord. Pour les problèmes de lisibilité du code, des
problèmes d'optimisation d'utilisation des pointeurs d'accés à la
mémoire, il est préfèrable d'utiliser les variables plutôt que de jouer
avec les indices, surtout pour gérer des ruptures. Utiliser un indice
dans un tableau, c'est utiliser un déplacement mémoire à partir d'une
position (Adresse mémoire de début de tableau plus déplacement donné
par l'indice), utiliser une variable c'est utiliser un pointeur
directement vers l'emplacement de cete variable.
Dans le même ordre d'idée, la variable indice utilisée doit être
manipulée par la fonction principale de la boucle, pas avec des
opérations changeant sa valeur. Dans ce cas, il faut utiliser une autre
variable pour les indices calculés à partir de la valeur donnée par la
fonction de boucle (et contrôler la valeur du nouvel indice par rapport
aux bornes du tableau).
Un point d'entrée, un point de sortie, déclaration et typage des
variables en début de procédure, unicité d'utilisation des variables,
sans oublier la normalisation de nomage des variables et fonctions.
Que de règles de bases permettant d'avoir du code esthétique !
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas de jouer avec les indices.
Entièrement d'accord. Pour les problèmes de lisibilité du code, des problèmes d'optimisation d'utilisation des pointeurs d'accés à la mémoire, il est préfèrable d'utiliser les variables plutôt que de jouer avec les indices, surtout pour gérer des ruptures. Utiliser un indice dans un tableau, c'est utiliser un déplacement mémoire à partir d'une position (Adresse mémoire de début de tableau plus déplacement donné par l'indice), utiliser une variable c'est utiliser un pointeur directement vers l'emplacement de cete variable.
Dans le même ordre d'idée, la variable indice utilisée doit être manipulée par la fonction principale de la boucle, pas avec des opérations changeant sa valeur. Dans ce cas, il faut utiliser une autre variable pour les indices calculés à partir de la valeur donnée par la fonction de boucle (et contrôler la valeur du nouvel indice par rapport aux bornes du tableau). Un point d'entrée, un point de sortie, déclaration et typage des variables en début de procédure, unicité d'utilisation des variables, sans oublier la normalisation de nomage des variables et fonctions. Que de règles de bases permettant d'avoir du code esthétique !
pmxk
Roumegou Eric avait prétendu :
pmxk a formulé la demande :
Vite dit ... sans trop réfléchir
euh ... si j'ai réfléchit :-)
je ne parle pas de toi. je parle de moi. Mais toi refléchis avant de nous balancer des fautes pareilles !
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
tu ne sais décidément pas lire ...
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas de jouer avec les indices.
Utilise un POUR TOUT
Gros naze :-)
pff!! lourd ce mec ! on se fait insulter maintenant.
Désolé Eric, c'est vrai que je m'emporte un peu vite, j'avais pris ça pour moi. Concernant le code, il y a plusieurs façons de faire et incrémenter l'indice dans la boucle ne me dérange pas plus que ça. A chaque itération, l'indice est incrémenté puis testé, je ne vois pas où est le problème (à part que c'est un peu moche) ;-) pmxk
Roumegou Eric avait prétendu :
pmxk a formulé la demande :
Vite dit ... sans trop réfléchir
euh ... si j'ai réfléchit :-)
je ne parle pas de toi. je parle de moi. Mais toi refléchis avant de nous
balancer des fautes pareilles !
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
tu ne sais décidément pas lire ...
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas.
Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le
début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas
de jouer avec les indices.
Utilise un POUR TOUT
Gros naze :-)
pff!! lourd ce mec !
on se fait insulter maintenant.
Désolé Eric, c'est vrai que je m'emporte un peu vite, j'avais pris ça
pour moi.
Concernant le code, il y a plusieurs façons de faire et incrémenter
l'indice dans la boucle ne me dérange pas plus que ça. A chaque
itération, l'indice est incrémenté puis testé, je ne vois pas où est le
problème (à part que c'est un peu moche)
;-)
pmxk
je ne parle pas de toi. je parle de moi. Mais toi refléchis avant de nous balancer des fautes pareilles !
Ce ne serait pas parce que tu décales ton indice dans le tableau ?
Tu es sûr, tu as bien réfléchit ?
tu ne sais décidément pas lire ...
Pourquoi le POUR i et le i ++ ? (double emploi)
Ben non, tu ne réfléchis pas. Si il ne mettait pas le i++, son "COL_DateFacture[i-1]" planterait dès le début.
Il est préférable d'utiliser une valeur pour sauvegarder la rupture, et pas de jouer avec les indices.
Utilise un POUR TOUT
Gros naze :-)
pff!! lourd ce mec ! on se fait insulter maintenant.
Désolé Eric, c'est vrai que je m'emporte un peu vite, j'avais pris ça pour moi. Concernant le code, il y a plusieurs façons de faire et incrémenter l'indice dans la boucle ne me dérange pas plus que ça. A chaque itération, l'indice est incrémenté puis testé, je ne vois pas où est le problème (à part que c'est un peu moche) ;-) pmxk