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 :

[WinDev 10] Requête SQL - Récupérer valeur de la liste


Sujet :

WinDev

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut [WinDev 10] Requête SQL - Récupérer valeur de la liste
    Bonjour à tous.
    Voilà fait 2 jours que je bosse sur windev alors soyez indulgents
    Je rempli une liste avec une requete SQL. Jusque là tout va bien.
    Je veux que ça affiche la designation d'un champ et que lors de la sélection d'une ligne, ça me retourne le prix de ce champ.
    Je vais donc dans les propriétés contenu de ma liste.
    Rubrique affichée : designation
    rubrique mémorisée : prix

    Je lance, ca affiche bien mais par contre en retour j'ai toujours simplement l'indice.
    En effet, dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sélection d'une ligne de LISTE1
     
     
    variable_prix = ListeSelect(LISTE1)
     
     
    Info(variable_prix)
    donc quand je clic sur une ligne il m'affiche l'id et pas le prix.
    Comment puis-je faire?
    D'avance, Merci à vous.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Normal
    ListeSelect
    Renvoie l'indice de l'élément sélectionné dans une liste (y compris liste image) ou une combo.


    Tu dois faire quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variable_prix = nomdelaliste[indice].prix

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    Merci pour ta réponse, il me semblait bien que c'était quelque chose comme ça.
    Mais alors je ne comprend pas bien à quoi cela sert qu'il y ai cette option dans le mode "graphique" avec le contenu.
    J'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Indice_liste est un entier
    Variable_prix est un monétaire
     
    Indice_liste = ListeSelect(LISTE_Liste1)
     
    Variable_prix = LISTE_Liste1[Indice_liste].prix
    mais mon programme ne se lance plus :

    Erreur à la ligne 6 du traitement Sélection d'une ligne de LISTE_Liste1.
    Un champ n'a pas de sous-élément. L'opérateur '.' est interdit.


    Informations techniques

    Projet : CaracteresMB

    Dump de l'erreur du module <WD100VM.DLL> <10.00Mo>.

    - Appel WL :
    Traitement de <ecran_1_nouvelle_plaque.LISTE_Liste1>, ligne <6>, thread <0>

    - Niveau : erreur fatale (EL_FATAL)

    - Code erreur : 1069

    - Code erreur WD55 : 0

    - Pas de code d'erreur système

    - Pas de message d'erreur système

    - Que s'est-il passé ?
    Un champ n'a pas de sous-élément. L'opérateur '.' est interdit.

    - Pas d'info de debug

    - Infos attachées :
    EIT_DATEHEURE : 23/10/2006 11:51:36
    EIT_PILEWL :
    Sélection d'une ligne de LISTE_Liste1 (ecran_1_nouvelle_plaque.LISTE_Liste1), ligne 6
    Sélection d'une ligne de LISTE_Matiere_nouvelle_plaque (ecran_1_nouvelle_plaque.LISTE_Matiere_nouvelle_plaque), ligne 7

    - Identifiant dans le .err : 1069
    Une idée du bug de mon clavier ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Le clavier va bien.

    Mais la syntaxe est erronée. Je voulais simplement te préciser que la fonction utilisée n'était pas la bonne et qu'il fallait récupérer la valeur de l'élément. Manquant de temps, je t'ai mis une piste mais le code est celui d'une table et ne convient pas pour les listes.

    Va voir la syntaxe correcte dans l'aide : Liste (Champ), Manipuler une liste par programmation

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    merci pour ta réponse.
    J'ai regardé dans l'aide et voici :
    Lorsqu'une liste est liée à un fichier (ou d'une requête), la liste pourra être initialisée avec le contenu du fichier (ou de la requête):


    soit automatiquement : aucun code spécifique n'est nécessaire pour initialiser la liste. Les caractéristiques du parcours du fichier lié à la liste sont décrites dans l'onglet "Contenu" de la description de la Liste.

    soit par programmation : Il est nécessaire de saisir le code de parcours du fichier lié à la liste dans le code d'initialisation de la liste. Cette méthode est déconseillée.
    Donc je fait automatiquement comme je t'ai bien dit via le contenu.
    Je ne veux pas faire par programmation
    Je veux bien ma ça ne marche pas !!
    Alors Windev a un bug ??

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    WinDev a probablement des bugs, mais dans le cas présent, je pense que c'est plutôt toi qui t'y prends mal

    Je te rappelle également que ta question initiale portait sur la récupération d'une info dans la liste et que tu me parles maintenant d'alimenter la liste ?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    non je veux bien récupérer des données. Mais pour l'alimenter, je veux passer par le graphique (pas par le code ou alors je retourne en C++ Builder... )
    Je regarde l'aide mais je ne vois rien ici en tout cas pour récupérer une valeur..

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    La syntaxe correcte pour récupérer les infos dans une liste est dans l'aide : Liste (Champ), Manipuler une liste par programmation Récupérer l'élément sélectionné dans la liste
    Pour récupérer la valeur de l'élément sélectionné , utilisez une des syntaxes suivantes :
    Il y a même un exemple de code

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    Oui et avec cela, je ne récupère que l'indice de ma liste!
    Mais ici, l'indice, je m'en moque, je souhaites récupérer le prix.
    et j'ai bien mis que la rubrique mémorisée était le prix.
    Je ne comprend donc pas comment je peux récupérer la zone mémoire, donc le prix !!

  10. #10
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    salut,

    j'ai regardé vite fait, mais pour moi la syntaxe correcte serait plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    variable_prix = nomdelaliste.prix[indice]
     
    au lieu de 
     
    variable_prix = nomdelaliste[indice].prix

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    L'aide dit :
    Pour récupérer la valeur de l'élément sélectionné , utilisez une des syntaxes suivantes :
    Syntaxe 1 :
    indice est un entier = <Nom Liste>
    <Variable>=<NomListe>[indice]

    Syntaxe 2 :
    <Variable>=<NomListe>[<Nom Liste>]
    Donc, pour afficher l'élément sélectionné dans une liste appelée "Liste1", tu utilses dans ton code : Info(Liste1[Liste1]) dans le code de sélection d'une ligne de Liste1


  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Je viens de relire tout le fil.
    Je pense que nous ne nous comprenons pas.
    Tu as une liste qui affiche une série de valeurs.
    Ces valeurs sont issues d'un fichier dont chaque fiche à 2 valeurs et tu veux à partir de la liste récupérer la valeur associée dans le fichier et non la valeur de la liste.
    Je n'ai jamais utilisé cette méthode. Pour faire ça j'utilise les tables.
    Je vais faire un test.
    (J'suis trop bon moi aujourd'hui )

  13. #13
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    grummpffff, j'étais parti sur une table moi ....

    je vais faire ma sieste et je reviens !!!

  14. #14
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    Citation Envoyé par petit arbre
    salut,

    j'ai regardé vite fait, mais pour moi la syntaxe correcte serait plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    variable_prix = nomdelaliste.prix[indice]
     
    au lieu de 
     
    variable_prix = nomdelaliste[indice].prix
    Merci de ton aide.
    Non, ce code ne fonctionne pas.

    Oui on se comprend mieux !!
    Le problème, je le réexplique :
    J'ai un fichier hyperfile avec un id,une description et un prix.
    J'affiche dans la liste la description.

    Quand je vais sur propriétés, je mets :

    - Fichier parcouru : requete 1
    - Rubrique affichée : description
    - Rubrique mémorisée : prix
    - Rubrique de parcours : id

    Je souhaiterais en fait quand je clic sur une description, que ça me mette le prix en mémoire...
    J'espère m'être mieux exprimé
    Oh c'est lundi ou quoi ici ?
    Enfin bref, je patine....

    Windev :" Developpez 10 fois plus vite ils disaient"...

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    Bon si ça commence comme ça, j'ai compris...
    Je sens que je vais mettre une table plutôt qu'une liste...

  16. #16
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    alors, je n'ai pas fini ma sieste,mais bon ..
    la rubrique mémorisée est celle que Windev va rendre quand tu vas interroger la liste


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    indice est un entier
    valeur est un réel
     
    indice = listeselect(la_liste)
     
    valeur = la_liste[indice]
    valeur contenant alors logiquement le prix et la rubrique de parcours étant la clé...

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    J'ai testé ce code.
    c'est en fait le premier que j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Indice_liste est un entier
    valeur est un réel
     
    Indice_liste = ListeSelect(LISTE_Liste1)
     
    valeur = LISTE_Liste1[Indice_liste]
     
    Info(valeur
    il me retourne 0 tout le temps
    Donc à mon avis c'est pas ça...

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Je t'ai fait un petit projet test.
    Je t'envoie le lien en mp dès qu'il est sur le Net

  19. #19
    Membre actif
    Profil pro
    Inscrit en
    Février 2003
    Messages
    787
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 787
    Points : 276
    Points
    276
    Par défaut
    mercet
    Et ça marche ou c'est pour que je teste?
    ou sinon je pense que ca serait bien de faire profiter le public non?
    Je suppose que je suis pas le seul dans ce cas..

  20. #20
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    Sinon , une bonne petite table avec

    3 colonnes

    Code | Libellé | prix


    tu auras (peut être) moins de problème...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/10/2013, 18h15
  2. [WD17] windev mobile 17 Utilisation du sql
    Par thecam64 dans le forum WinDev
    Réponses: 10
    Dernier message: 27/01/2012, 14h17
  3. Windev ou Visual Studio pour SQL Serveur
    Par Mael730 dans le forum WinDev
    Réponses: 5
    Dernier message: 06/11/2009, 16h25
  4. [ WinDev ] Calcul sur date dans SQL
    Par Tchupacabra dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/02/2006, 12h12
  5. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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