attention aux fonctions dans le where qui peuvent empêcher l'utilisation
d'un index sur la colonne date
where coldate between '20070501' and '20070531'
permet d'utiliser l'index
where year(coldate) = 2007 and month(coldate) = 5
ne permet pas
br
"ben" <ben@discussions.microsoft.com> wrote in message
news:5EEC8F1B-1CE9-4233-8819-BBFD676E24F6@microsoft.com...
> Re
> Je me suis inspiré de vos observation et en fait j'ai contourné le prb
> voila
> comment je fais :
>
> hypo de base : les enrgistrements compris entre le MaDateDebut et le
> MaDateFin
>
> 1 j'appel une fonction qui me calcul le nombre de jour qu'il y a dans la
> MaDateFin
>
> (trouver sur le web merci la toile)
>
>
>
>
>
> Public Function DaysInMonth(ByVal nMonth As Integer, ByVal nYear As
> Integer)
> As Integer
>
> DaysInMonth = Day(DateAdd("d", -1, DateAdd("m", 1, DateSerial(nYear,
> nMonth, 1))))
> nbjourmois = DaysInMonth
> End Function
>
>
> ensuite j'écris ceci dans la clause where
>
> Datefac between '" & "01/" & Right(MaDateDebut, 5) & "' AND '" &
> nbjourmois
> & "/" & Right(MadateFin, 5) & "'
>
> et puis voila merci à vous tous Fred et Pat @+
> "Fred.M." a écrit :
>
>> On en revient à la même chose : datefact étant de format date, il te faut
>> t'exprimer en date. Cela te donnera donc pour ton exemple :
>> ..WHERE datefact between '01/06/07' AND '31/08/07'
>>
>> Si tu veux vraiment jouer avec le mois et l'année tu peux utiliser la
>> fonction DatePart mais pour ton exemple c'est se compliquer la vie plus
>> qu'autre chose.
>> http://msdn2.microsoft.com/fr-fr/library/ms174420.aspx
>>
>> Fred.M.
>>
>> "ben" a écrit :
>>
>> > salut fred en fait d'un point de vu simpliste la requete serait comme
>> > ça
>> > where datefact between '06/07' and '08/07' autrement dit les
>> > enregistremensts compris entre juin 2007 et aout 2007.
>> >
>> >
>> > "Fred.M." a écrit :
>> >
>> > > Bonjour Ben,
>> > > Précises-tu dans ta clause Where l'année ?
>> > > Par ailleurs vérifie de même le format date US ou FR (dd/mm/yyyy)
>> > >
>> > > ex: ..WHERE MaDate Between '08/07/2007' AND '12/07/2007'
>> > >
>> > > Fred.M.
>> > >
>> > > "ben" a écrit :
>> > >
>> > > > bonjour à tous, j'ai une table qui contient des dates je souhaite
>> > > > faire une
>> > > > extraction en fonction du mois et de l'année, exemple
>> > > > les enregistrements compris entre le 08/07 et le 12/07, malgrés
>> > > > plusieurs
>> > > > tentatives je tombe toujours sur une insulte de SQL du type
>> > > > erreur de syntaxe lors de la conversion d'une chaine de caractère
>> > > > en type de
>> > > > donnée smalldatetime.
>> > > >
>> > > > je continu de plancher dessus mais j'avoue qu'un petit coup de
>> > > > pouce serait
>> > > > le bien venu.
>> > > > Merci et bonne journée à tous