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

0219fouine28 31 Messages postés jeudi 25 septembre 2008Date d'inscription 16 août 2010 Dernière intervention - 1 avril 2010 à 21:10 - Dernière réponse : PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention
- 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
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 1 avril 2010 à 21:33
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de PCPT
flateur18 36 Messages postés vendredi 12 février 2010Date d'inscription 4 décembre 2014 Dernière intervention - 19 juil. 2010 à 17:10
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
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 19 juil. 2010 à 20:57
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.