1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Table avec colonne : Calcul du total par programmation

Discussion dans 'Windev' créé par LAPIPE2018, Sept 23, 2019.

  1. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    Bonjour,
    je dois créer par programmation plusieurs colonnes (1 à 15), donc les noms ne sont pas connus avant
    Je dois mettre un totaliseur automatique sur chaque colonne par programmation. Quelqu'un l'a-t-il fait ?
    windev a une variable globale qu'il appelle accumulateur qui derange.
    Créer la table, créer les colonnes c'est dans l'aide et simple

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    Mais je dois ajouter pour chaque colonne le Total.
    Merci
     
    Tags:
  2. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,938
    J'aime reçus:
    1,564
    salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,
    perso, j'aurais créer une colonne hors fenêtre avec total et utilisé champclone.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    regarde aussi

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  3. LAPIPE2018

    LAPIPE2018 Active Member
    MEMBRE WX

    Inscrit:
    Fev 17, 2018
    Messages:
    657
    J'aime reçus:
    232
    BOnjour,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    salut

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,
    perso, j'aurais créer une colonne hors fenêtre avec total et utilisé champclone.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    regarde aussi

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    [/QUOTE
    Bonjour,
    En mettant ce code ci, ça marche simplement aussi
    [windev]ne est un Champ
    POUR nColonne = 2 _À_ TableOccurrence(cTable, toColonne)
    UneColonne <- TableEnumèreColonne(cTable, nColonne)
    nLigne = TableFormuleAjoute(UneColonne, "Somme", ProcInit, ProcAjout, ProcFin)
    //Trace(UneColonne..NomComplet + "//" + UneColonne..Titre)
    FIN[/windev]
    Cliquez pour agrandir...
     
  • midou23

    midou23 New Member

    Inscrit:
    Nov 17, 2018
    Messages:
    2
    J'aime reçus:
    3
    Bonjour tout le monde.
    Je suis nouveau parmi vous.

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    à chaque clonage d'une colonne, vous rajoutez le total automatique avec ceci :
    [windev]ExécuteFAA(MaTableMaColonne,faaColonneAjouteTotal).[/windev]
    Bien entendu le nom de la colonne doit être saisi par indirection

    Remarque : "faaColonneAjouteTotal", appliqué sur une colonne, si colonne n'a pas de total automatique, elle le rajoute et vice versa
    si on l'applique une 2ème fois, elle le supprime.
     
  • CharlyGO

    CharlyGO New Member

    Inscrit:
    Mai 21, 2018
    Messages:
    16
    J'aime reçus:
    9
    Un ejemplo para que lo adaptes y desde luego, que se mejore: Sólo crea una tabla y un botón donde va el siguiente código:

    [windev][windev]

    // Declaración de Variables
    nLigne is int
    UneColonne is Control
    nColumnas is int = TableCount(TABLE_cTable, toColumn)
    nCompteur, nSResul are int = 0

    // Vaciar la tabla
    TableDeleteAll(TABLE_cTable)

    // Eliminar las fórmulas
    TableFormulaDeleteAll(TABLE_cTable)

    // Llenar la tabla de valores para el ejemplo
    FOR x = 1 _A_ 100
    TableAddLine(TABLE_cTable,Random(-100,100),Random(-100,100),Random(-100,100),Random(-100,100),Random(-100,100),Random(-100,100))
    END

    // Recorrer la tabla por columna
    FOR nColonne = 1 _TO_ nColumnas
    UneColonne <- TableEnumColumn(TABLE_cTable, nColonne)
    nLigne = TableFormulaAdd(UneColonne, "Suma", ProcInit, ProcAjout, ProcFin)

    // Calcular para colorear la celda
    IF nColonne > 1 THEN
    UneColonne <- TableEnumColumn(TABLE_cTable, nColonne-1)
    ELSE
    UneColonne <- TableEnumColumn(TABLE_cTable, nColonne)
    END

    IF nSResul < 0 THEN
    UneColonne[nLigne]..BrushColor = DarkRed
    ELSE
    UneColonne[nLigne]..BrushColor = iDarkGreen
    END
    END

    // Colorear la última columna
    UneColonne <- TableEnumColumn(TABLE_cTable, nColumnas)
    IF nSResul < 0 THEN
    UneColonne[nLigne]..BrushColor = DarkRed
    ELSE
    UneColonne[nLigne]..BrushColor = iDarkGreen
    END


    // Procedimientos para el cálculo
    INTERNAL PROCEDURE ProcInit()
    nCompteur = 0
    nSResul = 0
    RESULT 0
    END

    INTERNAL PROCEDURE ProcAjout(Accumulateur, ValeurCol)

    // if val(ValeurCol) < 0 then result Accumulateur // No toma en cuenta los negativos en la suma

    nSResul=nSResul+Val(UneColonne..Value)
    RESULT Accumulateur + ValeurCol
    END

    INTERNAL PROCEDURE ProcFin(Accumulateur)
    IF nSResul = 0 THEN RESULT 0
    nSResul = Val(Accumulateur)
    RESULT Val(Accumulateur)
    END

    [/windev][/windev]
     
    LAPIPE2018 apprécie ceci.
  • Partager cette page

    Chargement...