Afficher plusieurs champs [Résolu]

Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
- - Dernière réponse : cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
- 7 nov. 2013 à 07:53
Bonjour,

avec le code si dessous j'affiche bien les données dans ma listview "ListI"
par rapport au nom que j'ai sélectionné dans la combobox "liste_chantier"
comment faire pour affiché plusieurs champs avec la table "employe",car la j'affiche les données avec le champ "ch1" mais je voudrait afficher un autre champ "ch2" toujours en sélectionnant un nom dans ma combobox.

Private Sub liste_chantier_Click()
Call Connect
Sql = "Select * from client where Nom_Client='" & liste_chantier.Text & "'"
Rs.Open Sql, Db, adOpenStatic, adLockPessimistic
If Rs.RecordCount > 0 Then
Nom_chantier.Text = Rs.Fields("Ville_Client")
End If

Call Deconnect
valider_Click
End Sub


Private Sub valider_Click()
TImport.Caption = 0

ListI.ListItems.Clear
Call Connect
Sql = "Select * from employe Where ch1='" & liste_chantier.Text & "'"

Rs.Open Sql, Db, adOpenStatic, adLockPessimistic
While Not Rs.EOF
Set ItemX = ListI.ListItems.add(, , Rs.Fields("code"))
ItemX.SubItems(1) = Rs.Fields("nom")
ItemX.SubItems(2) = Rs.Fields("prenom")
ItemX.SubItems(3) = Rs.Fields("num_secu")
ItemX.SubItems(4) = Rs.Fields("frais_total") ' & " €"
ItemX.SubItems(5) = Rs.Fields("ch1")
ItemX.SubItems(6) = Rs.Fields("ch2")
ItemX.SubItems(7) = Rs.Fields("ch3")

TImport.Caption = (CDbl(TImport.Caption) + CDbl(Rs.Fields("frais_total"))) & " €"

Rs.MoveNext
Wend
Call Deconnect

End Sub

j'espère être clair ;)
merci
@+
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
25819
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 juin 2019
312
1
Merci
Essayes ça :
valChamp = liste_chantier.Text
Sql = "Select * from employe Where ch1='" & valChamp & "' or ch2='" & valChamp & "' or ch3='" & valChamp & "' or ch5='" & valChamp & "'"


Si le souci persiste, essaye chaque "ch" seul.
exemple :
valChamp = liste_chantier.Text
Sql = "Select * from employe Where ch1='" & valChamp & "'


valChamp = liste_chantier.Text
Sql = "Select * from employe Where ch2='" & valChamp & "'


Etc..

NB: J'ai sorti la variable (valChamp ) pour une meilleur lisibilité... ce n'est pas obligatoire


Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jordane45
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
0
Merci
pour faire simple

comment faire pour récupérer un second champ dans ma requête

Sql = "Select * from employe Where ch2='" & liste_chantier.Text & "'" 


voila
merci
Commenter la réponse de cs_petchy
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Bonjour,
j'ai des difficultés à te comprendre.
Ta requête, telle qu'écrite (ton *) , récupère la totalité des champs de la table employe (et donc également le champ ch2) répondant à ton critère.
Que veux-tu donc dire exactement ?
Es-tu vraiment certain du verbe (récupérer) que tu emploies ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
0
Merci
en fait c'est pas facile d'expliquer
le verbe "récupérer" n'est pas bien employer.
je récupère bien les champs dans ma listview ca pas de problème
exemple
dans ma table j'ai plusieurs champ

champ ---> ch1 ch2 ch3 ch4 ch5
données--> a b a a d
si je sélectionne dans le combobox "a"
je voudrais que dans ma listview j'ai les lignes ch1,ch3 et ch4 qui s'affiche
si je sélectionne dans le combobox "d"
je voudrais que dans ma listview j'ai la lignes ch5 qui s'affiche
c'est pour ça que je voudrais rajouter dans ma requete des autres champs.
merci
Commenter la réponse de cs_petchy
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
209
0
Merci
Toujours pas vraiment clair.
S'il ne s'agit que d'affichage, affiche donc tous tes champs et cache (en fonction de ton choix dans la combo) ceux que tu ne veux pas voir !
Tu peux dimensionner les colonnes de la listview comme tu l'entends
Une colonne dont la largeur est mise à 0 devient invisible ...

Commenter la réponse de ucfoutu
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
46
0
Merci
Bonjour

Ta table me semble pas conforme
selon ton ex
dans ma table j'ai plusieurs champ
champ ---> ch1 ch2 ch3 ch4 ch5
données--> a b a a d
pourquoi avoir plusieurs champs avec les memes données
décris ta table et les champs ch1.....
Commenter la réponse de cs_ShayW
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
0
Merci
bonjour
les données de ma table "employe" viennent d'une autre table,c'est pour ça que l'ont peut avoir les memes données.
je voudrais qui affiche dans la listview
j'ai essayé
from employe Where ch1 and ch2 and ch3
mais il affiche que les données du champ ch3
jordane45
Messages postés
25819
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 juin 2019
312 -
Bonjour,
Je pense qu'il y a , soit une incompréhension sur l'utilisation du terme "champ" soit une erreur dans la façon dont a été "créée" cette table.

Un CHAMP est, pour simplifier, une COLONNE
Exemple : Ta table employé peut contenir les colonnes (champs) :
Nom / Prénom / Age / Ville ...

Donc, en reprenant l'exemple ci-dessus, je ne comprend pas comment (ou pourquoi) tu peux avoir plusieurs fois la même valeur dans ces champs...

Toujours en gardant mon exemple... Si je fais un SELECT * From Matable... je récupère TOUS les enregistrements ( ce qui correspond aux "lignes" de ma table, de toutes les colonnes...

Peut-être pourrais-tu nous fournir un exemple de données contenues dans ta table ( au passage.. tu utilises quoi comme Base de données ? )
Commenter la réponse de cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
0
Merci
j'utilise comme base ACCES
dans ma table j'ai 15 champs,les items du combobox viennent du autre table.
donc quand je sélectionnent un item dans mon combobox,je doit affiche dans la listview les lignes qui sont concernées par ma sélection.

voila,je ne sait pas si c'est plus clair :(
jordane45
Messages postés
25819
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 juin 2019
312 -
voila,je ne sait pas si c'est plus clair :(
Heu.. non.. pas vraiment.

=> On est d'accord que tes "champs" Ch1, Ch2, Ch3.. sont des "colonnes" de ta table ?

=> tu souhaites récupérer toutes les lignes dans lesquelles (par exemple), on a la valeur "a".
Donc, dans ce cas là, ta question n'est pas vraiment du VB, mais un souci de requête (donc du sql )

Ce qui donnerait quelque chose du genre :
Sql = "Select * from employe Where _
ch1='" & liste_chantier.Text & "' _
or ch2='" & liste_chantier.Text & "' _
or ch3='" & liste_chantier.Text & "' _
or ch4='" & liste_chantier.Text & "' _
or ch5='" & liste_chantier.Text & "' _
"



Si ce n'est pas ça que tu cherches... je donnes ma langue au chat ^^
Et donc, dans ce cas, merci de nous fournir la structure de ta table que l'on comprenne mieux ce que tu cherches à faire
cs_ShayW
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
46 -
toujours pas clair
Pour mieux comprendre il aurait fallut que tu décrives les détails de tes champs si c'est possible
bonjour jordane45
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3 -
bonjour
voila c'est exactement se que je veut jordane45,
c'est de récupérer les lignes qui ont la même valeur.
j'ai essayer ton code mais il ne fonctionne pas il marque "type incompatible"
jordane45
Messages postés
25819
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 juin 2019
312 -
- Tu peux nous coller le code que tu viens d'essayer ?
- Tu peux nous donner la description de ta TABLE => Nom des champs../ Types... (ça ne fait que 5 fois qu'on te la demande...) ?

Enfin bon, ton souci est donc bien un problème de "requête" et non un souci de code VB....

Jettes un oeil à ce lien, cela devrait pouvoir t'aider.
http://access.developpez.com/sql/#L1.1.3
Commenter la réponse de cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
0
Merci
voila le code et ma table
désolé de vous importuné avec ça

Sql = "Select * from employe Where ch1='" & liste_chantier.Text & "'_"
or ch2='" & liste_chantier.Text & "' _
or ch3='" & liste_chantier.Text & "' _
or ch5='" & liste_chantier.Text & "' _
"


TABLE "employe"
code -----------> num auto
num_secu -----> Texte court
nom -----> Texte court
prenom
adresse ville -----> Texte court
tel_port -----> Texte court
tel_domicile -----> Texte court
mail -----> Texte court
date_naissance -----> Texte court
frais_hotel -----> Texte court
frais_carburant -----> Texte court
frais_parking -----> Texte court
frais_autoroute -----> Texte court
frais_autres -----> Texte court
frais_total -----> Texte court
Nom_Client -----> Texte court
Ville_Client -----> Texte court
Code_Client -----> Texte court
cout_mo temps_mo -----> Texte court
total_mo -----> Texte court
ch1 -----> Texte court
ch2 -----> Texte court
ch3 -----> Texte court
ch4 -----> Texte court
ch5 -----> Texte court

merci beaucoup pour votre aide
Commenter la réponse de cs_petchy
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
46
0
Merci
Bonjour
D'après moi les champs
frais_hotel -----> Texte court
frais_carburant -----> Texte court
frais_parking -----> Texte court
frais_autoroute -----> Texte court
frais_autres -----> Texte court
frais_total -----> Texte court

doivent etre dans un autre tableau avec le code -----------> num auto de la table employé
Tableau Frais
code -----------> num auto
frais_hotel -----> Texte court
frais_carburant -----> Texte court
frais_parking -----> Texte court
frais_autoroute -----> Texte court
frais_autres -----> Texte court
frais_total -----> Texte court
code provenant du tableau employé

est ce que tous les champs frais appartient à l'employé ?

l'employé peut avoir plusieurs clients mais le client a un seul employé ?

si c'est le cas il faut un tableau client avec les champs
Code_Client -----> Texte court
Nom_Client -----> Texte court
Ville_Client -----> Texte court
code provenant du tableau employé

et dans le tableau employé retirer les champs
Code_Client -----> Texte court
Nom_Client -----> Texte court
Ville_Client -----> Texte court

possible que ce n'est pas correcte
c'est quoi les champs suivants
cout_mo temps_mo -----> Texte court
total_mo -----> Texte court
ch1 -----> Texte court
ch2 -----> Texte court
ch3 -----> Texte court
ch4 -----> Texte court
ch5 -----> Texte court
Commenter la réponse de cs_ShayW
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
0
Merci
bonjour,

merci beaucoup Jordane , ça fonctionne super bien.

bonne journée

petchy
Commenter la réponse de cs_petchy