Requete avec select ...like: probleme

Résolu
0219fouine28 Messages postés 31 Date d'inscription jeudi 25 septembre 2008 Statut Membre Dernière intervention 16 août 2010 - 1 avril 2010 à 21:10
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre 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.
A voir également:

3 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
1 avril 2010 à 21:33
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]
3
flateur18 Messages postés 35 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 4 décembre 2014 1
19 juil. 2010 à 17:10
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
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 juil. 2010 à 20:57
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]
0
Rejoignez-nous