Requete avec select ...like: probleme [Résolu]

Messages postés
31
Date d'inscription
jeudi 25 septembre 2008
Dernière intervention
16 août 2010
- - Dernière réponse : PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 19 juil. 2010 à 20:57
Bonsoir à tous,

J'ai une base access avec 3 champs: Titre, Prix et Date
Avec VB 2008, je créé la requête suivante:
sql = "SELECT Livres.* from Livres WHERE Date LIKE '*" & strMoisEnCours & "*'"
cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(cmd)
cmd.Connection() = cnx
dta.Fill(dts, "Livres")
dtt = dts.Tables("Livres")
'affiche résultat
dgvSortie.DataSource = dtt

La requête permet de sélectionner les titres dont la date contient le mois en cours (ex: * avril *, peut importe l'année et le jour).
Or cette requête ne fonctionne pas. Elle me retourne tous les données de ma table.
J'ai fait un test dans Access et cela fonctionne.
VB me retourne aucune erreur de syntaxe.
Merci d'avance pour toutes aides.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
3
Merci
salut,

LIKE *...* => VB
en SQL c'est % :
sql = "SELECT Livres.* from Livres WHERE Date LIKE '%" & strMoisEnCours & "%';"


NB : renomme ton champs DATE qui est un mot réservé, çà t'évitera de mauvaises surprises

++
[hr]

Merci PCPT 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de PCPT
Messages postés
36
Date d'inscription
vendredi 12 février 2010
Dernière intervention
4 décembre 2014
0
Merci
Bonjour,

J'ai un problème similaire, je l'ai posté dans le même site vbfrance.com et dans d'autres sites mais je n'ai pas eu de réponse cela fait 2 semaines, j'espère qu'on me repondra ici :

L'exemple ci dessus traite SELECT ... LIKE, je l'ai parfaitement compris.

Mon cas c'est

madate = avril
DoCmd.ApplyFilter ,"[mon champ date] Like '%" madate "%'"

mais à chaque fois la table résultante est vide!!!

une idée??
merci d'avance
Commenter la réponse de flateur18
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
salut,

LIKE ne fonctionne qu'avec une STRING
vois si access supporte la fonction MONTH

DoCmd.ApplyFilter ,"MONTH([mon champ date]) = 4"

ps : tu as peut-être posté partout mais tu poses là une question VBA sur le thème VB.NET, d'un autre membre....

[hr]
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.