IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Incrémentation d'un champ dans une table [WD15]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut Incrémentation d'un champ dans une table
    Bonjour,

    Afin de pouvoir comprendre un fonctionnement, je me suis fait un projet test.

    Ce projet test possède :

    - 1 bouton
    - 1 champ de saisie
    - 1 table

    Aucun fichier n'est crée à cet occasion.

    Mon champ de saisie (SAI_Saisie) est de type numérique ayant pour masque de saisie : 999 999
    Il a dans sa description -> Initialisation de SAI_Saisie
    SAI_Saisie = 100

    Mon Bonton a pour but d'incrémenter mon champ de saisie par pas de 1 à chaque clic.

    Voici son code :
    Clic sur BTN_incre

    SAI_Saisie ++

    Et cela fonctionne bien

    Ensuite j'ai une table et ma COL_Nombre est de type numérique
    Lorsque je clic sur mon bouton, la table ajoute sur chaque ligne des chiffres par comptage.

    Mais ce que j'aimerais surtout c'est que ce soit la première ligne uniquement qui soit compter sans pour autant rajouter à chaque fois des enregistrements.

    Voici l'exemple en video...

    [ame="http://www.youtube.com/watch?v=ONliw3mVbWI"]http://www.youtube.com/watch?v=ONliw3mVbWI[/ame]

  2. #2
    Membre Expert Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Par défaut
    Hello,
    j'ai mis du temps à comprendre ce que tu voulais, mais j'y suis arrivé (enfin, je pense)...
    Tu veux incrémenter uniquement la premiere ligne, si j'ai bien compris, donc, il te faire faire cela dans ton bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    si tableoccurrence(matable) = 0 alors
         // la table est vide alors on ajoute une ligne
         tableajoute(matable,1)
         // le 1 reprsente la premiere fois que tu cliques
    sinon
         // la ligne existe alors on increment uniquement
         // la premier ligne
         matable.col_num[1]++
         // le 1 reprsente ici le n° de ligne
    fin
    Voilà qui devrait fonctionner comme tu le souhaites

  3. #3
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Bonsoir,

    Merci pour ton aide si précieuse.

    Pas évident d'expliquer ce que l'on souhaite obtenir...

    Néanmoins cela fonctionne parfaitement.

    Autre question afin d'éviter d'ouvrir un autre topic.

    J'ai une requête qui comptabilise et filtre des chiffres et noms, elle fonctionne bien enfin de ce que je souhaite lui faire faire.

    Mais quand je viens consulter le résultat de la requête afficher dans une table.
    Celle-ci ne se rafraîchit qu'une seule fois. Pourtant dans le code de la fenêtre j'ai bien mis le tableaffiche(TAB_MAREQ).

    En gros comme si elle ne s'initialisé qu'une seule fois.
    Suis-je obligé de taper par programmation un Hexecuterequete pour que cela fonctionne à chaque fois?

  4. #4
    Membre émérite
    Inscrit en
    Avril 2008
    Messages
    1 133
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 133
    Par défaut
    Salut Trusty!

    He oui, tu es oblige de la reexecuter puis la reafficher.

    Souvent dans le code d' initialisation de la table il y a l' execution suivi du reaffichage...

    Dans ce cas tu pourrais utiliser la fonction executetraitement(MaTable,trtinit)

    Bon DEV

  5. #5
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Par défaut
    Ok cela fonctionne plutot bien

    Merci à tous

    Et à très vite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/04/2010, 15h53
  2. Modification du nom d'un champ dans une table
    Par reef1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/06/2004, 10h55
  3. Réponses: 2
    Dernier message: 19/05/2004, 10h13
  4. changement de type pour un champ dans une table
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 23/02/2004, 15h26
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo