[WD55b] Problème de comparaison de date avec Base Access
4 réponses
Frédéric QUINTANA
Bonjour !
J'ai un probleme de récupération de données sur Base Access 97. J'exécute
une requête de type "SELECT" sur la base Access pour récupérer les données
du jour. Sur la base Access le champ DATETIME à comparer avec mon champ
"s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer mon
champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui d'Access.
Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout
essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la
comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT .....
WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça
marche mais pas sous Access 97 ????? Quelle mer2 !!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gégé
> J'ai un probleme de récupération de données sur Base Access 97. J'exécute une requête de type "SELECT" sur la base Access pour récupérer les données du jour. Sur la base Access le champ DATETIME à comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer mon champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
C'est le pb de compatibilité sur les champs DATETIME. Tu dois faire la conversion soit - par code avec les fonctions Gauche, Droite ou Milieu - si tu utilises des champs avec la propriété Valeur de retour au format AAAAMMJJ Il faut que tu passes cela comme une chaîne ... WHERE Date >= '"+TaDate+"' ...
> J'ai un probleme de récupération de données sur Base Access 97. J'exécute
une requête de type "SELECT" sur la base Access pour récupérer les données
du jour. Sur la base Access le champ DATETIME à comparer avec mon champ
"s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer mon
champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui d'Access.
Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout
essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la
comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT .....
WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça
marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
C'est le pb de compatibilité sur les champs DATETIME. Tu dois faire la
conversion soit
- par code avec les fonctions Gauche, Droite ou Milieu
- si tu utilises des champs avec la propriété Valeur de retour au format
AAAAMMJJ
Il faut que tu passes cela comme une chaîne
... WHERE Date >= '"+TaDate+"' ...
> J'ai un probleme de récupération de données sur Base Access 97. J'exécute une requête de type "SELECT" sur la base Access pour récupérer les données du jour. Sur la base Access le champ DATETIME à comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer mon champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
C'est le pb de compatibilité sur les champs DATETIME. Tu dois faire la conversion soit - par code avec les fonctions Gauche, Droite ou Milieu - si tu utilises des champs avec la propriété Valeur de retour au format AAAAMMJJ Il faut que tu passes cela comme une chaîne ... WHERE Date >= '"+TaDate+"' ...
Jean-Paul Lequeu
Frédéric QUINTANA wrote:
Bonjour !
J'ai un probleme de récupération de données sur Base Access 97. J'exécute une requête de type "SELECT" sur la base Access pour récupérer les données du jour. Sur la base Access le champ DATETIME à comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer mon champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
Bonjour, De mémoire sous Access97, lorqu'on utilise les fonctions SQL, il faut formater la date sous le format MMJJAA tout en n'oubliant pas de précéder la variable par # et d'ajouter à la fin de la variable # Je pense que la fonction qui permet de formater la date sous Access est : Format(NomVariable, "mm/dd/yy").
J'espère avoir pu vous aider. Jean-Paul
Frédéric QUINTANA wrote:
Bonjour !
J'ai un probleme de récupération de données sur Base Access 97.
J'exécute une requête de type "SELECT" sur la base Access pour
récupérer les données du jour. Sur la base Access le champ DATETIME à
comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00".
Je n'arrive pas à comparer mon champ de saisie "s_date" de format
AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il
utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là
je suis à cours d'idée. En plus sous Base Access 2000 la comparaison
avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE
DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça
marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
Bonjour,
De mémoire sous Access97, lorqu'on utilise les fonctions SQL, il faut
formater la date sous le format MMJJAA tout
en n'oubliant pas de précéder la variable par # et d'ajouter à la fin de la
variable #
Je pense que la fonction qui permet de formater la date sous Access est :
Format(NomVariable, "mm/dd/yy").
J'ai un probleme de récupération de données sur Base Access 97. J'exécute une requête de type "SELECT" sur la base Access pour récupérer les données du jour. Sur la base Access le champ DATETIME à comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer mon champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000 ça marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
Bonjour, De mémoire sous Access97, lorqu'on utilise les fonctions SQL, il faut formater la date sous le format MMJJAA tout en n'oubliant pas de précéder la variable par # et d'ajouter à la fin de la variable # Je pense que la fonction qui permet de formater la date sous Access est : Format(NomVariable, "mm/dd/yy").
J'espère avoir pu vous aider. Jean-Paul
Fabrice Burghgraeve
Bonjour.
"Jean-Paul Lequeu" a écrit dans le message de news:3f9f8679$0$16229$
Frédéric QUINTANA wrote: > Bonjour ! > > J'ai un probleme de récupération de données sur Base Access 97. > J'exécute une requête de type "SELECT" sur la base Access pour > récupérer les données du jour. Sur la base Access le champ DATETIME à > comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". > Je n'arrive pas à comparer mon champ de saisie "s_date" de format > AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il > utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là
(...)
Bonjour, De mémoire sous Access97, lorqu'on utilise les fonctions SQL, il faut formater la date sous le format MMJJAA tout en n'oubliant pas de précéder la variable par # et d'ajouter à la fin de
la
variable # Je pense que la fonction qui permet de formater la date sous Access est : Format(NomVariable, "mm/dd/yy").
J'espère avoir pu vous aider. Jean-Paul
theoriquement (tout est la), on peut passer du SQL standard a un driver ODBC.
Perso, quand j'ai un probleme de syntaxe SQL, je me refere a la doc de la base de donnees qu'on utilise : PostgreSQL
Cette base a ceci de bien qu'elle tend vers le standard SQL92, et en tout cas la doc est bien faite, quand les instructions different de la norme, ou sont des extensions, c'est indique.
Donc meme sans utiliser cette BD, je conseille a ceux qui ont des problemes de syntaxe SQL de s'y referrer.
Pour le format de date, il me semble que le format standard est ISO, soit : AAAA-MM-JJ
voila ce que dit la doc de postgresql : (attention : c'est un copier-coller du tableau. la je voies un beau tableau, mais j'espere que ce sera lisible en reception. Toutes mes excuses si ce ne l'est pas. Allez alors vous plaindre a Bill Gates de son outlook.)
Table 5-15. Date/Time Output Styles
Style Specification Description Example ISO ISO 8601/SQL standard 1997-12-17 07:37:16-08 SQL traditional style 12/17/1997 07:37:16.00 PST PostgreSQL original style Wed Dec 17 07:37:16 1997 PST German regional style 17.12.1997 07:37:16.00 PST
The SQL style has European and non-European (U.S.) variants, which determines whether month follows day or vice versa. (See Section 5.5.1 for how this setting also affects interpretation of input values.) Table 5-16 shows an example.
Table 5-16. Date Order Conventions
Style Specification Description Example European day/month/year 17/12/1997 15:37:16.00 MET US month/day/year 12/17/1997 07:37:16.00 PST
Cela dit, access, c'est microsoft. Ca ne m'etonnerait qu'a moitie si il n'avaient pas suivi le standard, pour emmerder le monde. Mais c'est a verifier.
Peut-etre est-ce aussi possible de forcer le format de la date retourne par la base suivant un certain standard. De memoire, en Oracle, il y a la commande : SET DATESTYLE TO ISO; (ou un truc comme ca)
-- Fabrice Burghgraeve Computer & Services suivez ce lien pour me repondre en prive : http://cerbermail.com/?I3GMPRuXDD
Bonjour.
"Jean-Paul Lequeu" <jeanpaul.lequeu@montoit.be> a écrit dans le message de
news:3f9f8679$0$16229$ba620e4c@reader3.news.skynet.be...
Frédéric QUINTANA wrote:
> Bonjour !
>
> J'ai un probleme de récupération de données sur Base Access 97.
> J'exécute une requête de type "SELECT" sur la base Access pour
> récupérer les données du jour. Sur la base Access le champ DATETIME à
> comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00".
> Je n'arrive pas à comparer mon champ de saisie "s_date" de format
> AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il
> utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là
(...)
Bonjour,
De mémoire sous Access97, lorqu'on utilise les fonctions SQL, il faut
formater la date sous le format MMJJAA tout
en n'oubliant pas de précéder la variable par # et d'ajouter à la fin de
la
variable #
Je pense que la fonction qui permet de formater la date sous Access est :
Format(NomVariable, "mm/dd/yy").
J'espère avoir pu vous aider.
Jean-Paul
theoriquement (tout est la), on peut passer du SQL standard a un driver
ODBC.
Perso, quand j'ai un probleme de syntaxe SQL, je me refere a la doc de la
base de donnees qu'on utilise :
PostgreSQL
Cette base a ceci de bien qu'elle tend vers le standard SQL92, et en tout
cas la doc est bien faite,
quand les instructions different de la norme, ou sont des extensions, c'est
indique.
Donc meme sans utiliser cette BD, je conseille a ceux qui ont des problemes
de syntaxe SQL de s'y referrer.
Pour le format de date, il me semble que le format standard est ISO, soit :
AAAA-MM-JJ
voila ce que dit la doc de postgresql :
(attention : c'est un copier-coller du tableau. la je voies un beau tableau,
mais j'espere que ce sera lisible en reception.
Toutes mes excuses si ce ne l'est pas. Allez alors vous plaindre a Bill
Gates de son outlook.)
Table 5-15. Date/Time Output Styles
Style Specification Description Example
ISO ISO 8601/SQL standard 1997-12-17 07:37:16-08
SQL traditional style 12/17/1997 07:37:16.00 PST
PostgreSQL original style Wed Dec 17 07:37:16 1997 PST
German regional style 17.12.1997 07:37:16.00 PST
The SQL style has European and non-European (U.S.) variants, which
determines whether month follows day or vice versa. (See Section 5.5.1 for
how this setting also affects interpretation of input values.) Table 5-16
shows an example.
Table 5-16. Date Order Conventions
Style Specification Description Example
European day/month/year 17/12/1997 15:37:16.00 MET
US month/day/year 12/17/1997 07:37:16.00 PST
Cela dit, access, c'est microsoft.
Ca ne m'etonnerait qu'a moitie si il n'avaient pas suivi le standard, pour
emmerder le monde.
Mais c'est a verifier.
Peut-etre est-ce aussi possible de forcer le format de la date retourne par
la base suivant un certain standard.
De memoire, en Oracle, il y a la commande :
SET DATESTYLE TO ISO;
(ou un truc comme ca)
--
Fabrice Burghgraeve
Computer & Services
suivez ce lien pour me repondre en prive :
http://cerbermail.com/?I3GMPRuXDD
"Jean-Paul Lequeu" a écrit dans le message de news:3f9f8679$0$16229$
Frédéric QUINTANA wrote: > Bonjour ! > > J'ai un probleme de récupération de données sur Base Access 97. > J'exécute une requête de type "SELECT" sur la base Access pour > récupérer les données du jour. Sur la base Access le champ DATETIME à > comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". > Je n'arrive pas à comparer mon champ de saisie "s_date" de format > AAAAMMJJ sous Windev avec celui d'Access. Quelle norme faut-il > utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là
(...)
Bonjour, De mémoire sous Access97, lorqu'on utilise les fonctions SQL, il faut formater la date sous le format MMJJAA tout en n'oubliant pas de précéder la variable par # et d'ajouter à la fin de
la
variable # Je pense que la fonction qui permet de formater la date sous Access est : Format(NomVariable, "mm/dd/yy").
J'espère avoir pu vous aider. Jean-Paul
theoriquement (tout est la), on peut passer du SQL standard a un driver ODBC.
Perso, quand j'ai un probleme de syntaxe SQL, je me refere a la doc de la base de donnees qu'on utilise : PostgreSQL
Cette base a ceci de bien qu'elle tend vers le standard SQL92, et en tout cas la doc est bien faite, quand les instructions different de la norme, ou sont des extensions, c'est indique.
Donc meme sans utiliser cette BD, je conseille a ceux qui ont des problemes de syntaxe SQL de s'y referrer.
Pour le format de date, il me semble que le format standard est ISO, soit : AAAA-MM-JJ
voila ce que dit la doc de postgresql : (attention : c'est un copier-coller du tableau. la je voies un beau tableau, mais j'espere que ce sera lisible en reception. Toutes mes excuses si ce ne l'est pas. Allez alors vous plaindre a Bill Gates de son outlook.)
Table 5-15. Date/Time Output Styles
Style Specification Description Example ISO ISO 8601/SQL standard 1997-12-17 07:37:16-08 SQL traditional style 12/17/1997 07:37:16.00 PST PostgreSQL original style Wed Dec 17 07:37:16 1997 PST German regional style 17.12.1997 07:37:16.00 PST
The SQL style has European and non-European (U.S.) variants, which determines whether month follows day or vice versa. (See Section 5.5.1 for how this setting also affects interpretation of input values.) Table 5-16 shows an example.
Table 5-16. Date Order Conventions
Style Specification Description Example European day/month/year 17/12/1997 15:37:16.00 MET US month/day/year 12/17/1997 07:37:16.00 PST
Cela dit, access, c'est microsoft. Ca ne m'etonnerait qu'a moitie si il n'avaient pas suivi le standard, pour emmerder le monde. Mais c'est a verifier.
Peut-etre est-ce aussi possible de forcer le format de la date retourne par la base suivant un certain standard. De memoire, en Oracle, il y a la commande : SET DATESTYLE TO ISO; (ou un truc comme ca)
-- Fabrice Burghgraeve Computer & Services suivez ce lien pour me repondre en prive : http://cerbermail.com/?I3GMPRuXDD
Eric L.
Je crois (fin sans être sûr à 100%) que comme le type date stocke une date + une heure dans access, pour être sûr que ça marche, il faut faire quelque chose de la sorte :
WHERE DATETIME >= #01/12/2003 00:00:00# AND DATETIME <= #31/12/2003 23:59:59#
par contre je ne me rappelle plus du format à utiliser pour la date (JJ/MM/AAA ou MM/JJ/AAAA)...
bon courage ;) Eric L.
"Frédéric QUINTANA" a écrit dans le message de news:bnnu9c$3dm$ Bonjour !
J'ai un probleme de récupération de données sur Base Access 97. J'exécute une requête de type "SELECT" sur la base Access pour récupérer les données du jour. Sur la base Access le champ DATETIME à comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer
mon
champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui
d'Access.
Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000
ça
marche mais pas sous Access 97 ????? Quelle mer2 !!!
Merci d'avance pour vos réponses.
Je crois (fin sans être sûr à 100%) que comme le type date stocke une date +
une
heure dans access, pour être sûr que ça marche, il faut faire quelque chose
de la sorte :
WHERE DATETIME >= #01/12/2003 00:00:00#
AND DATETIME <= #31/12/2003 23:59:59#
par contre je ne me rappelle plus du format à utiliser pour la date
(JJ/MM/AAA ou
MM/JJ/AAAA)...
bon courage ;)
Eric L.
"Frédéric QUINTANA" <frederic@mont-tauch.com> a écrit dans le message
de news:bnnu9c$3dm$1@s1.read.news.oleane.net...
Bonjour !
J'ai un probleme de récupération de données sur Base Access 97. J'exécute
une requête de type "SELECT" sur la base Access pour récupérer les données
du jour. Sur la base Access le champ DATETIME à comparer avec mon champ
"s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer
mon
champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui
d'Access.
Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout
essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la
comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT .....
WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000
ça
marche mais pas sous Access 97 ????? Quelle mer2 !!!
Je crois (fin sans être sûr à 100%) que comme le type date stocke une date + une heure dans access, pour être sûr que ça marche, il faut faire quelque chose de la sorte :
WHERE DATETIME >= #01/12/2003 00:00:00# AND DATETIME <= #31/12/2003 23:59:59#
par contre je ne me rappelle plus du format à utiliser pour la date (JJ/MM/AAA ou MM/JJ/AAAA)...
bon courage ;) Eric L.
"Frédéric QUINTANA" a écrit dans le message de news:bnnu9c$3dm$ Bonjour !
J'ai un probleme de récupération de données sur Base Access 97. J'exécute une requête de type "SELECT" sur la base Access pour récupérer les données du jour. Sur la base Access le champ DATETIME à comparer avec mon champ "s_date" est de la forme "28/10/03 17:06:00". Je n'arrive pas à comparer
mon
champ de saisie "s_date" de format AAAAMMJJ sous Windev avec celui
d'Access.
Quelle norme faut-il utiliser pour comparer des dates ? J'ai vraiment tout essayé mais là je suis à cours d'idée. En plus sous Base Access 2000 la comparaison avec des "#" fonctionne mais pas dans ce cas là. SELECT ..... WHERE DATETIME >= #DateDebut# AND DATETIME <= #DateFin# sous Access 2000
ça
marche mais pas sous Access 97 ????? Quelle mer2 !!!