[VB-SQL]Requete/Selection/Dates/Strings

cs_Regnak Messages postés 29 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 2 mars 2010 - 13 juil. 2006 à 09:55
cs_Regnak Messages postés 29 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 2 mars 2010 - 13 juil. 2006 à 10:49
Bonjour a tous,

Avec la requete ci dessous, je souhaite selectionner toutes les lignes de ma table comprises entre telle date et telle date,
Seulement Discounted est de type Text(formate dd/mm/yyyy) et dateMarker1&2 aussi.
Le probleme reside dans le fait que je dois comparer des dates et non des strings.... quelqu un aurait une piste/solution a me proposer
pour que je selectionne les lignes correctement :P

 strReq = "SELECT ItemID, Name, Discounted FROM indexWithDiscounted WHERE Discounted between " & Me.dateMarker1 & " And " & Me.dateMarker2

Merci d'avance,

R.

9 réponses

tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
13 juil. 2006 à 10:00
Hello

Tu ne peux pas changer le type de  Discounted ?

(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire<>
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
13 juil. 2006 à 10:03
moi je fais :

str = "select machin.* from machin where date  <  #" + t1 + "# and date  > #" + t2 + "#"

avec t1, t2 string de la forme : mm/dd/yyyy, et le champ 'date' en type date dans la base.
(base Access, provider msjet4.0, connection oledb (ado))

et ça marche..
.Maytheforcebewithyou.Maxime.
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
13 juil. 2006 à 10:07
dans mon exemple, le champ 'date' est aussi en dd/mm/yyyy dans la table, ça ne pose pas de problème, c'est ta requete qui doit manger des mm/dd/yyyy en paramètre..

.Maytheforcebewithyou.Maxime.
0
cs_Regnak Messages postés 29 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 2 mars 2010
13 juil. 2006 à 10:10
Et si on veut faire une requete update sur une table qui a un champ date et que le champ d'origine est de texte comme ca marche?

En attendant, votre prochaine reponse je vais tester vos idees ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
13 juil. 2006 à 10:27
ce que tu peux faire c couper ta chaine en trois parties, dd, mm , yyyy et comparer chacune des trois parties avec les fonctions day (ou dd je sais plus) , month et year...

(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire< body>
0
cs_Regnak Messages postés 29 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 2 mars 2010
13 juil. 2006 à 10:33
strReq = "SELECT ItemID, Name, Discounted FROM indexWithDiscounted WHERE Discounted between " & Format(Me.dateMarker1, "dd/mm/yyyy") & " And " & Format(Me.dateMarker2, "dd/mm/yyyy")

Comment je decoupe ca?

Dsl mais decouper est une bonne idee, mais je vois pas comment?

Mci.
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
13 juil. 2006 à 10:42
Pour découper tu utilise la fontion Mid.
Mais tu ne peux pas simplement changer le champ dans ta base et le mettre en Date? Ca serait beaucoup plus facile!

(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire< body>
0
cs_Regnak Messages postés 29 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 2 mars 2010
13 juil. 2006 à 10:45
Mid : oki jevais regarder

Changer dans la base : Et bien le soucis c est que du coup lorsque j update cette date il me refuse les champs text formate en dd/mm/yyyy et je sais pas comment faire, si tu as une idee je suis preneur!

Mci
0
cs_Regnak Messages postés 29 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 2 mars 2010
13 juil. 2006 à 10:49
Ma requete Update

Field  : Discounted
Table : indexWithDiscounted
Update To : IIf(Nz([Discounted]," ")=" ",IIf(Nz([MMSPE1]," ")=" ",Null,[MMSPE1]),IIf(Nz([MMSPE1]," ")=" ",[Discounted],IIf([Discounted]>[MMSPE1],[Discounted],[MMSPE1])))

Donc le champ Discounted est de type Text et formate en dd/mm/yyyy

Mais quand je passe ce champ en type date

Et bien ma requete echoue pour convertir le champ MMSPE1 qui lui est en text dd/mm/yyyy (que je ne peux pas changer... )
0
Rejoignez-nous