Selection de champs

Signaler
Messages postés
24
Date d'inscription
lundi 25 février 2002
Statut
Membre
Dernière intervention
22 janvier 2003
-
Messages postés
24
Date d'inscription
lundi 25 février 2002
Statut
Membre
Dernière intervention
22 janvier 2003
-
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

Messages postés
17
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
16 janvier 2003

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
Messages postés
24
Date d'inscription
lundi 25 février 2002
Statut
Membre
Dernière intervention
22 janvier 2003

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
Messages postés
17
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
16 janvier 2003

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
Messages postés
17
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
16 janvier 2003

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
Messages postés
24
Date d'inscription
lundi 25 février 2002
Statut
Membre
Dernière intervention
22 janvier 2003

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