Afficher plusieurs champs

Résolu
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 - 4 nov. 2013 à 09:35
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
@+

11 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
6 nov. 2013 à 13:50
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


1
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
4 nov. 2013 à 17:49
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 4/11/2013 à 18:13
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
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
4 nov. 2013 à 19:00
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 nov. 2013 à 19:07
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 ...

0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
5 nov. 2013 à 09:40
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.....
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
5 nov. 2013 à 12:17
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
5 nov. 2013 à 12:46
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 ? )
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
5 nov. 2013 à 15:56
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 :(
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
5 nov. 2013 à 16:59
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
5 nov. 2013 à 17:27
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
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
6 nov. 2013 à 10:57
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"
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
6 nov. 2013 à 11:28
- 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
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
6 nov. 2013 à 13:15
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 6/11/2013 à 13:46
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
0
cs_petchy Messages postés 710 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2015 4
7 nov. 2013 à 07:53
bonjour,

merci beaucoup Jordane , ça fonctionne super bien.

bonne journée

petchy
0
Rejoignez-nous