inraf
Messages postés104Date d'inscriptionsamedi 5 juillet 2008StatutMembreDernière intervention15 novembre 2012
-
28 oct. 2010 à 13:52
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
29 oct. 2010 à 10:43
Bonjour
je suis à la recherche d'une solution pour faire une recherche dans ma bdd access
je m'explique
j'ai une bdd en access avec une colonne Date
dans ma colonne c'est afficher 01/01/2010
02/01/2010
01/01/2008
05/08/2009
25/12/2009
03/01/2010 ect...ect
dans un combobox je voudrais entrer 2010 et que mon application me donne toutes les dates qui comportent 2010 dans leurs dates(text).
Pour le moment j'ai essayé avec
Where date ='" & ComboBox1.Text & "'"
mais ce type de code ne fonctionnent pas pour cette recherche.
inraf
Messages postés104Date d'inscriptionsamedi 5 juillet 2008StatutMembreDernière intervention15 novembre 2012 28 oct. 2010 à 19:58
Merci pour ta reponce
mais en fait mon code comme tu l'as bien dit pour le nom du champ reserver "Date" j'ai mis DT
donc mon code c'est exacetment
...FROM Historique Where DT ='" & ComboBox4.Text & "'"
...
lorsque je met Where year DT = '" & Combobox4.text & "'"cela ne marche pas ???
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 28 oct. 2010 à 20:32
Et les parenthèses ?
Les crochets servent à autoriser les caractères accentués ou espaces dans les noms des champs ou pour forcer la désignation le nom d'un champ et pas l'interprétation d'un mot clé du langage.
Mais les parenthèses appartiennent à l'instruction Year. Il faut les mettre.
De plus, je t'ai précisé qu'il ne fallait pas encadrer la valeur de comparaison avec des ' puisque le champ ainsi interprété renverra un chiffre et plus un texte (en supposant qu'une date soit un texte)
Vous n’avez pas trouvé la réponse que vous recherchez ?
inraf
Messages postés104Date d'inscriptionsamedi 5 juillet 2008StatutMembreDernière intervention15 novembre 2012 29 oct. 2010 à 10:12
bonjour Jack
tu me dit de mettre Where year DT = "..."
mais je n'ai pas présisé que mon champ est en format text et pas en format date/heure donc year ne peux pas marcher dans ce cas la?
est il possible de faire une recherche d'un mot des un texte d'un bdd access avec la meme methode?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 oct. 2010 à 10:43
NON, relis ce que j'ai écrit : je te dis de mettre
Where Year([le nom du champ]) = " & ...
Bien sûr, les ... sont là pour représenter la suite de ta syntaxe, ne va pas mettre réellement des points, réfléchis 30 sec !
Même si ton champ est de type texte, dans ce cas, tu vas utiliser une fonction pour isoler l'année dans ta date qui, elle, renvoie un chiffre.
Access n'est pas idiot et sait convertir du texte à condition qu'il ressemble à une date.
Le problème qui risque de se poser, c'est que les DB stockent et interprètent les dates au format US, donc il se peut que ton texte de date ne puisse être reconnu.
Il te suffit de faire l'essai pour le savoir (en mettant un n° de jour > 12).
En tel cas, il te faudra :
- soit utiliser du découpage de texte à la place de Year avec Mid ou Right (*)
- soit modifier le type de champ pour le mettre en vrai type Date général dans ta DB. Recommandé, surtout si tu dois faire ce genre de recherche.
(*) Tu trouveras toute l'aide qu'il te faut dans l'aide de l'éditeur VBA de Access et ces fonctions peuvent, en général, être utilisées dans une syntaxe SQL sous Access.