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 :

Insertion dans une table


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut Insertion dans une table
    Bonjour à tous (et bon début de semaine !)

    Voici mon problème, j'ai un table avec deux colonnes
    Caractéristiques || Valeurs

    Dans la première colonne j'implémente les données de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //FPrincipale : le nom de la fenêtre
    //TABSAIS : le nom de la table
    TableAjouteLigne(FPrincipale.TABSAIS,"Constructeur : ","")
     
    //Comme vous pouvez le remarquer, j'ajoute une ligne avec dans la colonne Caractéristiques la chaine "Constructeur : " et dans valeur la chaine vide ""
    Maintenant, je souhaite ajouter une combo dans valeur, je le fais de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ListeAjoute(FPrincipale.TABSAIS.Valeurs,"entreprise1")
    ListeAjoute(FPrincipale.TABSAIS.Valeurs,"entreprise2")
    Lors de l'exécution, ca fonctionne, j'ai bien un combo qui s'affiche dans le tableau avec les deux choix.
    Le problème est le suivant :
    Lorsque j'ajoute une nouvelle ligne, j'ai dans toute la colonne Valeur le combo avec "entreprise1" et "entreprise2"

    J'imagine que je dois mal initialiser cette table. Pouvez vous m'aidez ?


    N.B : le but étant d'avoir par exemple une table de la sorte :
    ------------------------------------------------------------
    Caractéristiques || Valeurs
    ------------------------------------------------------------
    Constructeur : || *
    Puissance : || **
    Type : || ***
    ------------------------------------------------------------

    * un combo contenant : "entreprise1" et "entreprise2"
    ** un combo contenant : "puissance1", "puissance2", "puissance3", "puissance4"
    ***un combo contenant : "type1", "type2", "type3", "type4", "type5", "type6", "type7"

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 347
    Points : 3 868
    Points
    3 868
    Par défaut
    Salut à toi,

    Malheureusement cela n'est pas possible, à moins d'utiliser une méthode de contournement... si elle existe.

    J'ai l'impression par contre que cela est possible avec la 14 ou la 15, avec les conteneurs (? pas certain).

    En écrivant, j'ai une petite idée à te proposer :
    Au lieu de passer par une combo, ce sera de passer par une image et lors du clic, de faire apparaître une fenêtre contenant les valeurs que tu veux.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par Lo² Voir le message
    Malheureusement cela n'est pas possible, à moins d'utiliser une méthode de contournement... si elle existe.

    Aie, dur...
    Si quelqu'un a une idée pour une méthode de contournement, je suis preneur. Je galère depuis quelques jours sur ce problème, sans réel avancée

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 347
    Points : 3 868
    Points
    3 868
    Par défaut
    Citation Envoyé par Redg9 Voir le message
    Aie, dur...
    Si quelqu'un a une idée pour une méthode de contournement...
    Ben je t'en donne une à la fin de mon post, il y a peut-être mieux ou différent mais c'est une idée.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Je ne sais pas si ça peut marcher, mais dans le code d'entrée dans une ligne, tu peux créer le contenu de ta combo en dynamique, en fonction de la valeur de ta première colonne.

    Attention, de bien mémorisé la valeur courante pour pouvoir la réaffecter.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut
    @Lo² : oui c'est vrai, autant pour moi. Mais elle ne conviendra pas 'aux pontes'

    @Louis Griffont : A savoir que le code que j'ai mis se trouve dans une classe (...). Tu proposes donc de rappatrier ce code dans la table et de créer dynamiquement chaque combo ?

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Ou d'appeler ta méthode depuis la table. A toi de voir la meilleure manière d'implémenter.

    Mais, avant de te lancer dans de grands développement, fais un petit test, la solution que je t'ai fournie est sans garanti.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut
    lol oui merci en tout cas pour l'aide. Je vais me renseigner maintenant sur l'implémentation dynamique d'une combo =))

  9. #9
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    J'ai eu ce problème et il n'y a que 2 solutions: utiliser une fenêtre popup au clic de la colonne (ça marche très bien et ce n'est pas très compliqué) ou utiliser une combo à l'extérieur de la table qui est remplis automatiquement à la sélection d'une ligne.

    Le remplissage d'une combo directement dans la table ne fonctionnera pas puisque toutes les lignes utilisent la même liste. En supprimant les valeurs actuelles de la combo, toutes les lignes vont perdre leur valeur et plus rien ne sera affiché. Tu ne peux pas non plus afficher une valeur qui n'est pas dans la liste.

    La meilleur solution reste donc d'avoir une colonne texte qui affiche la valeur et une fenêtre popup au clic dans cette colonne.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut
    Bonjour et merci pour vos réactions.

    klbsjpolp, pourrais tu développer ceci : utiliser une combo à l'extérieur de la table qui est remplis automatiquement à la sélection d'une ligne.

    Ce que tu veux dire c'est que lorsque je clique sur lune ligne, le combo extérieur se remplit ?

  11. #11
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Citation Envoyé par Redg9 Voir le message
    Ce que tu veux dire c'est que lorsque je clique sur lune ligne, le combo extérieur se remplit ?
    Exactement, ce n'est très jolie si tu n'as qu'un champ mais une solution intéressante si tu as vraiment beaucoup de rubrique dans ton fichier et que tu ne veux pas avoir des centaines de colonnes. Dans la majorité des cas, le popup est beaucoup plus intuitive pour les utilisateurs qui ne voient pas la différence.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Points : 128
    Points
    128
    Par défaut
    très bien, merci pour la précision. Je vous tiens au courant.

  13. #13
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Citation Envoyé par klbsjpolp Voir le message
    Exactement, ce n'est très jolie si tu n'as qu'un champ mais une solution intéressante si tu as vraiment beaucoup de rubrique dans ton fichier et que tu ne veux pas avoir des centaines de colonnes. Dans la majorité des cas, le popup est beaucoup plus intuitive pour les utilisateurs qui ne voient pas la différence.
    Je saute en vol sur le sujet, car, la difficulté que j'ai rencontré pour ce genre de système, c'est la position de la popup ! Je n'ai jamais réussi à la placer au bon endroit par rapport à la ligne en cours de la table ! Si tu as des éléments pour le faire, merci d'avance.
    Louis

  14. #14
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Si ton champ est un champ texte en saisie, ça fonctionne sans problème pour le positionnement. Le problème c'est qu'une fois ta combo fermé, tu es en saisie dans le champ. J'utilise habituellement un RepriseSaisie après le OuvrePopup pour tomber en saisie dans la prochaine colonne après la fermeture.

Discussions similaires

  1. [ZEOSLIB] Problème Insertion dans une table
    Par moscovisci dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/06/2005, 12h05
  2. [interbase6]probleme d'insertion dans une table
    Par macadam314 dans le forum Bases de données
    Réponses: 10
    Dernier message: 22/02/2005, 14h21
  3. [Sybase] Temps d'une insertion dans une table
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 14/02/2005, 10h04
  4. Extraction d'un .txt et Insertion dans une table
    Par PoPmiSiR dans le forum Access
    Réponses: 8
    Dernier message: 28/10/2004, 19h13
  5. Détection insertion dans une Table
    Par abelman dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/07/2004, 14h24

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