Problème d'ajout dans une liste modifiable

Le
magicbear83
Bonjour j'essai d'introduire des éléments dans une liste déroulante
mais a chaque introduction dans la liste je me retrouve avec que des
"Vrai" au lieu d'avoir les textes issus de ma requete SQL :

SQL = "SELECT nom_produit FROM Produit WHERE nom_produit LIKE """ &
Me.lst_prod.Text & "%"";"
rst.Open SQL, cnx
Me.lst_prod.Value = Null

If Not (rst.EOF) Then
rst.MoveFirst
Do While Not (rst.EOF)
res = rst("nom_produit")
Me.lst_prod.AddItem res = res, intCurrentRow
intCurrentRow = intCurrentRow + 1
rst.MoveNext
Loop
End If

Je ne vois pas ou serait mon erreur
Merci ;)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6276661
bonjour.

faudrait préciser quelques lignes:
Me.lst_prod.Value = Null ===> pour faire quoi ?
Me.lst_prod.AddItem res = res, intCurrentRow res = res ===> pour faire
quoi ?
pourquoi gérer le intCurrentRow ? pour mettre à la fin ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
PowerShell, une nouvelle approche de l'administration de l'environnement
Windows
http://www.comscamp.com/Tracker/Redirect.ashx?linkid_73b247-3260-4fed-861f-bb587f7ef413



Bonjour j'essai d'introduire des éléments dans une liste déroulante
mais a chaque introduction dans la liste je me retrouve avec que des
"Vrai" au lieu d'avoir les textes issus de ma requete SQL :

SQL = "SELECT nom_produit FROM Produit WHERE nom_produit LIKE """ &
Me.lst_prod.Text & "%"";"
rst.Open SQL, cnx
Me.lst_prod.Value = Null

If Not (rst.EOF) Then
rst.MoveFirst
Do While Not (rst.EOF)
res = rst("nom_produit")
Me.lst_prod.AddItem res = res, intCurrentRow
intCurrentRow = intCurrentRow + 1
rst.MoveNext
Loop
End If

Je ne vois pas ou serait mon erreur...
Merci ;)
magicbear83
Le #6276651
faudrait préciser quelques lignes:

Me.lst_prod.Value = Null ===> pour faire quoi ? ===> A chaq ue
nouvelle appuie de touche je réexécute ma requête avec la nouvelle
information donc je vide ma liste
Me.lst_prod.AddItem res = res, intCurrentRow res = res ===> A rien
O.O (pardon :/)

pourquoi gérer le intCurrentRow ? pour mettre à la fin ? Il est
facultatif mais je préfère le spécifier
Raymond [mvp]
Le #6276641
Puisque tu vides ta liste à chaque fois pourquoi passer par le vba ?
indique directement ta requête dans le contenu :

origine source: Table/Requête
contenu : SELECT .....................;

ta clause like me parait bizarre.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
PowerShell, une nouvelle approche de l'administration de l'environnement
Windows
http://www.comscamp.com/Tracker/Redirect.ashx?linkid_73b247-3260-4fed-861f-bb587f7ef413



faudrait préciser quelques lignes:

Me.lst_prod.Value = Null ===> pour faire quoi ? ===> A chaque
nouvelle appuie de touche je réexécute ma requête avec la nouvelle
information donc je vide ma liste
Me.lst_prod.AddItem res = res, intCurrentRow res = res ===> A rien
O.O (pardon :/)

pourquoi gérer le intCurrentRow ? pour mettre à la fin ? Il est
facultatif mais je préfère le spécifier
magicbear83
Le #6276631
Puisque tu vides ta liste à chaque fois pourquoi passer par le vba ?
indique directement ta requête dans le contenu :

origine source: Table/Requête
contenu : SELECT .....................;

ta clause like me parait bizarre.


En fait je ne maitrise pas des masses QBE :-( donc je passe par VBA :-
O.
Pour le LIKE, dès que l'utilisateur commence à écrire son mot
j'utilise l'évènement "Change" de mon contrôle. A partir de là je v ais
taper dans la base pour récupérer ce qui correspond à la chaîne tap ée
dans ma liste.
D'où le LIKE "CeQueJeTape%";
Je fais une sorte d'auto complétion...Dans le menu déroulant de ma
liste j'indique à l'utilisateur les termes les plus proches ce qu'il a
commencé à taper

Raymond [mvp]
Le #6276621
hé bien tu te casses bien la tête.

tu indiques dans les propriétés de ta liste déroulante:
origine source: Table/Requête
Contenu : SELECT nom_produit FROM Produit ORDER BY nom_produit ;

vérifier
que la propriété auto-étendre (onglet données) soit à Oui.
que nbre colonnes (onglet format) soit à 1.
etc.. etc...

quand l'opérateur tapes des caractères, access affiche automatiquement la
première donnée dans la zone de frappe et si la liste est ouverte, access
affiche automatiquement tous les noms à partir de celui trouvé.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
PowerShell, une nouvelle approche de l'administration de l'environnement
Windows
http://www.comscamp.com/Tracker/Redirect.ashx?linkid_73b247-3260-4fed-861f-bb587f7ef413



Puisque tu vides ta liste à chaque fois pourquoi passer par le vba ?
indique directement ta requête dans le contenu :

origine source: Table/Requête
contenu : SELECT .....................;

ta clause like me parait bizarre.


En fait je ne maitrise pas des masses QBE :-( donc je passe par VBA :-
O.
Pour le LIKE, dès que l'utilisateur commence à écrire son mot
j'utilise l'évènement "Change" de mon contrôle. A partir de là je vais
taper dans la base pour récupérer ce qui correspond à la chaîne tapée
dans ma liste.
D'où le LIKE "CeQueJeTape%";
Je fais une sorte d'auto complétion...Dans le menu déroulant de ma
liste j'indique à l'utilisateur les termes les plus proches ce qu'il a
commencé à taper

Raymond [mvp]
Le #6276611
hé bien tu te casses bien la tête.

tu indiques dans les propriétés de ta liste déroulante:
origine source: Table/Requête
Contenu : SELECT nom_produit FROM Produit ORDER BY nom_produit ;

vérifier
que la propriété auto-étendre (onglet données) soit à Oui.
que nbre colonnes (onglet format) soit à 1.
etc.. etc...

quand l'opérateur tapes des caractères, access affiche automatiquement la
première donnée dans la zone de frappe et si la liste est ouverte, access
affiche automatiquement tous les noms à partir de celui trouvé.


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
PowerShell, une nouvelle approche de l'administration de l'environnement
Windows
http://www.comscamp.com/Tracker/Redirect.ashx?linkid_73b247-3260-4fed-861f-bb587f7ef413



Puisque tu vides ta liste à chaque fois pourquoi passer par le vba ?
indique directement ta requête dans le contenu :

origine source: Table/Requête
contenu : SELECT .....................;

ta clause like me parait bizarre.


En fait je ne maitrise pas des masses QBE :-( donc je passe par VBA :-
O.
Pour le LIKE, dès que l'utilisateur commence à écrire son mot
j'utilise l'évènement "Change" de mon contrôle. A partir de là je vais
taper dans la base pour récupérer ce qui correspond à la chaîne tapée
dans ma liste.
D'où le LIKE "CeQueJeTape%";
Je fais une sorte d'auto complétion...Dans le menu déroulant de ma
liste j'indique à l'utilisateur les termes les plus proches ce qu'il a
commencé à taper

magicbear83
Le #6276591
On 30 avr, 12:44, "Raymond [mvp]" wrote:
hé bien tu te casses bien la tête.

tu indiques dans les propriétés de ta liste déroulante:
origine source: Table/Requête
Contenu : SELECT nom_produit FROM Produit ORDER BY nom_produit ;

vérifier
que la propriété auto-étendre (onglet données) soit à Oui.
que nbre colonnes (onglet format) soit à 1.
etc.. etc...

quand l'opérateur tapes des caractères, access affiche automatiquemen t la
première donnée dans la zone de frappe et si la liste est ouverte, ac cess
affiche automatiquement tous les noms à partir de celui trouvé.

--
@+



Ragggg effectivement je me prends bien la tête -_-'

On m'a collé Access pour mon stage et bon je ne le maîtrise pas
vraiment à vrai dire :-)

En tout cas merci Raymond !! je reviendrai t'embêter ici à
l'occasion ;-)

Publicité
Poster une réponse
Anonyme