Requête sur champ date

Résolu
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 - 7 sept. 2009 à 09:15
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 10 sept. 2009 à 15:50
Bonjour,

Encore une question sur les dates !!!
Voilà quelque temps que je galère sur cette requête et je ne vois pas pourquoi j'ai le message "Type incompatible dans l'expression du critère..."
var Today : Tdatetime;
...

begin
  Today := now;

With DM.qryEnCoursDemain do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select * from tbl_Evenements ');
    SQL.Add('WHERE Fait False and DateDeb ' + QuotedStr(FormatDateTime('dd/mm/YYYY', today+1)));
    Open;
  end;


DateDeb est un champ d'une table access Date/Heure Format Date, abrégé

Si quelqu'un peut m'aider à avancer, d'avance merci...

Cordialement, codial
A voir également:

7 réponses

codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
8 sept. 2009 à 08:10
Bonjour cantador,

merci pour ta réponse mais j'ai toujours le même message !!

Ceci dit j'ai fait une requête paramétrée et celà fonctionne normalement.
With DM.qryEnCoursDemain do
  begin
  Close;
  SQL.Clear;
  SQL.Add('Select * from tbl_Evenements WHERE DateDeb=:noDate');
  Parameters.ParamByName('noDate').Value:= DateToStr(today+1);
  open;
  end;


Encore merci
Cordialement, codial
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 sept. 2009 à 22:28
Bonsoir,
essaie :

---
SQL.Add('WHERE (Fait False) and (DateDeb ' + QuotedStr(FormatDateTime('yyyy/mm/dd', today+1))));



cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
8 sept. 2009 à 13:47
je t'avouerai n'avoir pas testé et évidemment dans ce cas c'est pile ou face..

Les formats de date sous acces avec QuotedStr sont assez chatouilleux...
La requête paramétrée que je n' ai pas proposée pour une fois est en général la solution pour s'en sortir..

cantador
0
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
9 sept. 2009 à 18:22
Bonsoir cantador,

merci pour l'aide.

Cordialement, codial
0

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

Posez votre question
rozg Messages postés 8 Date d'inscription vendredi 12 décembre 2008 Statut Membre Dernière intervention 11 juin 2014 1
10 sept. 2009 à 12:43
En SQL, les dates exprimées sous forme littérale doivent être entre deux caractères #.
Le bon format est donc FormatDateTime('#dd/mm/yyyy#', today+1)

Je ne suis plus très sûr mais je crois qu'il ne faut pas Quoted.
0
rozg Messages postés 8 Date d'inscription vendredi 12 décembre 2008 Statut Membre Dernière intervention 11 juin 2014 1
10 sept. 2009 à 13:41
Sorry, j'ai tapé trop vite, il faut mettre le mois avant le jour donc
FormatDateTime('#mm/dd/yyyy#',today+1);

nb: J'ai écris des applis qui attaquent des tables Access via ODBC avec cette technique, ça marche très bien.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
10 sept. 2009 à 15:50
Je viens de tester et avec une date stockée soit au format texte, soit au format date/heure

effectivement ça marche avec :
FormatDateTime('#mm/dd/yyyy#',today + 1);



merci rozg pour ce rappel..

cantador
0
Rejoignez-nous