Selection de champs

cs_Mariotte42 Messages postés 24 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 22 janvier 2003 - 22 juil. 2002 à 14:13
cs_Mariotte42 Messages postés 24 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 22 janvier 2003 - 27 juil. 2002 à 18:19
Sous VB6 j’utilise un code pour extraire des données d’une basse de données Access avec un code du genre : Select champs1,chanps2,champs3,champs4,champs5 From mabasedonnées where Macondition
Les résultats s’affichent dans un grid
Mais je voudrais donner à l’utilisateur le choix ( par l’intermédiaire d’une liste déroulante miltiselections par exemple) de choisir seulement les champs qu’il désir affichés.
Pouvez vous m’aider,merci d’avance
Eric

5 réponses

shyangel Messages postés 17 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 16 janvier 2003
23 juil. 2002 à 14:25
Tu proposes à l'utilisateur de choisir les champs qu'il souhaite visualiser, il va cliquer sur un bouton pour afficher ces informations. Derrière l'événement clic du bouton, tu vas constuire la requête te permettant d'aller chercher les informations dans la base.

Pour chaque champ sélectionné, tu le rajoutes à la liste : strListe = strListe & "," & strChamp
A la fin tu as ta requête comme l'a demandé l'utilisateur.
Bonne programmation, et si tu as un souci ou que tu veux un peu plus de détails, n'hésite pas.

----------------------------------------------
un ange passe ...
0
cs_Mariotte42 Messages postés 24 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 22 janvier 2003
24 juil. 2002 à 14:12
Bonjour
Merci déja pour m'avoir repondu!
Effectivement si tu avais un exemple avec un bout de code se serai sympa, je debute et j'ai tu mal a comprendre le système!
Merci d'avance
Eric
0
shyangel Messages postés 17 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 16 janvier 2003
24 juil. 2002 à 22:10
Voilà un bout de code qui devrait t'aider

strRequete = "Select * from TaTable"

' récupération des valeurs saisies par l'utilisateur
' exemple avec 2 zones de texte
if txtEdit1.text <> "" then
if strWhere = "" then strWhere "Champ1 '" & txtEdit1.text & "'"
else strWhere strWhere & " AND Champ1'" & txtEdit1.text & "'"
end if
endif
if txtEdit2.text <> "" then
if strWhere = "" then strWhere "Champ2 '" & txtEdit2.text & "'"
else strWhere strWhere & " AND Champ2'" & txtEdit2.text & "'"
end if
end if

if strWhere <> "" then
strRequete = strRequete & " WHERE " & strWhere
end if

' Exécution de la requête
TaConnexionADO.Execute strRequete

J'espère que cela t'aidera sinon dis moi où tu veux plus d'infos.

@+

----------------------------------------------
un ange passe ...
0
shyangel Messages postés 17 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 16 janvier 2003
25 juil. 2002 à 09:09
Oups, désolé j'étais un peu fatigué hier soir et je suis allé un peu vite pour la partie exécution de la requête

A la place de TaConnexionADO.Execute strRequete
il faut mettre
' Partie déclaration au début de ta fonction/procédure
Dim acmd As New ADODB.Command
Dim arst As New ADODB.Recordset

acmd.ActiveConnection = TaConnexionADO

acmd.CommandText = strRequete
arst.Open acmd, , adOpenForwardOnly, adLockOptimistic
Avec ça, tu as un recordset ouvert contenant les enregistrements résultat de ta requête.

----------------------------------------------
un ange passe ...
0

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

Posez votre question
cs_Mariotte42 Messages postés 24 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 22 janvier 2003
27 juil. 2002 à 18:19
Salut
Je n'y arrive pas! en fait j'utilise pas de controle ado mais un controle data(bien sur ça ne marhe pas.J'ai essayé le controle ado mais ne l'ayant jamais utilisé!!
existe t-il plus simple?
Eric
0
Rejoignez-nous