Requete VBA / Prob condition WHERE

marcoboulot Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
basshero816 Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

je découvre un peu les requetes sous VBA Access, et j'ai un probleme sur la condition WHERE,
j'aimerai récupérer la valeur d'une zone de liste modifiable et l'intégrer dans cette dite requete.
La requete suivante fonctionne bien :

Set rs = CurrentDb.OpenRecordset("SELECT evenement_of.* FROM evenement_of WHERE ofs= '735434'")

mais quand je remplace '735434' par 'badge.value', cela ne fonctionne plus.
Set rs = CurrentDb.OpenRecordset("SELECT evenement_of.* FROM evenement_of WHERE ofs= '"+ badge.Value+"'")

Badge est le nom de cette liste.
J'ai tout essayé avec les " ' &, rien, je galère.
Mais ensuite j'ai pensé à passer 'badge.Value' par Val(badge.value), pour aligner le type du format. Sachant que le champs 'ofs' est du texte. Mais toujours rien.

si vous avez des solutions, je suis preneur,

Merci d'avance.
A voir également:

3 réponses

basshero816 Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   6
 
Salut,
Tout d'abord, le mieux est de créer une requête sous forme de String, puis ensuite tu l'exécute.

Tu fais donc :

Dim sql As String
Dim rs As Recordset

sql = " SELECT * FROM evenement_of WHERE evenement_of.ofs LIKE ' " & Me.badge.Value & " ' ; "
Set rs = CurrentDb.OpenRecordset (sql)


N'oublie pas le ";", vérifie que tu as bien dans ton formulaire une zone de texte ou de liste déroulante qui s'appelle "badge". Si ce n'est pas le cas tu dois écrire le chemin complet jusqu'à cette valeur à la place du "Me.badge.Value".

Et dis-moi si cela s'arrange!
@+
0
marcoboulot Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour la rapidité de ta réponse,
j'ai essayé ton code, mais toujours rien,
j'ai la fameuse fenetre "Pas d'enregistrement courant"
si tu vois autre chose?
0
basshero816 Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   6
 
Ce que tu peux faire, c'est essayer d'exécuter ta requête directement, et voir si elle te renvoie quelque chose.

Dans ton éditeur de requête, sous forme SQL, tape :

SELECT * FROM evenement_of WHERE evenement_of.ofs LIKE Formulaires![nom_formulaire]!badge.Value ;

[nom_formulaire] est le nom du formulaire où se trouve la liste déroulante ou la zone de texte que tu as nommé "badge".

N'oublie pas auparavant d'ouvrir le formulaire et de mettre une valeur dans la liste ou la zone de texte "badge".
Si ta requête ne renvoie rien, c'est un problème de conception de la base de données.

@+
0