IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Format des dates pour acces à une BD MS Access..


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Format des dates pour acces à une BD MS Access..
    Bonjour à tous,

    J'utilise l'ODBC pour accéder à une base MS Access. Losque je produits une requete avec une date, j'ai costamment le message venant de l'OBDC "invalide format date". J'emploie les dates sous la forme '01/02/05' ou '01/02/2005'...

    Quelqu'un a-t-il une idée de l'origine de ce probleme? Que faire?

    Merci.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Il faut que le format de la date soit MM/JJ/AAAA pour que la date soit reconnue par access. Vu qu'on est le 19 juillet et que le mois 19 n'existe pas c'est pour cette raison que tu as cette erreur

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Format des dates pour acces à une BD MS Access..
    Ok, pourtant lors de la conception de la base j'ai specifié le format jj/mm/aaaa. Dois-je comprendre qu'Access n'accepte que ce format et à lui de le convertir lors du traitement des données?

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le format de date que tu as défini dans access n'est qu'un format d'affichage quand tu utilises directement access.
    Comme tu passes par l'ODBC, le format de date à transmettre à Access doit être celui que je t'ai indiqué dans le post précédent. (C'est pareil avec ADO)

  5. #5
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    En fait, ta requête est du SQL, et le format de date SQL est MM/DD/YYYY (en anglais )

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par rsc
    En fait, ta requête est du SQL, et le format de date SQL est MM/DD/YYYY (en anglais )
    Pas obligatoirement, si on prend par exemple MySQL le format de date est YYYY-MM-DD, avec Access/SQL Serveur/Oracle c'est MM/DD/YYYY. en fait faut voir dans la doc de la db (quand il y en a).

  7. #7
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Points : 95
    Points
    95
    Par défaut
    J'utilise aussi une base Access, avec les composants ADO.
    J'ai alimente cette base a l'aide d'un fichier csv ou les dates de naissances apparaissaient sous cette forme JJ/MM/AAAA.

    Sur access quand je lui demande d'afficher les dates en toutes lettres je verifie que l'ajout a bien fonctionne puisque qu'il m'interprete les dates correctement.

    J'ai besoin pour mon appli de faire une requete qui me donne la liste des personnes nes tel jour. Pour simplifier j'ai mis une date arbitraire en dur sur le source. Que je mette 23/10/1980 ou 10/23/1980 le code passe sans bugguer mais rien n'est selectionne alors qu'il devrait y avoir une selection.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bd.Query.SQL.Clear;
    bd.Query.SQL.add('Select *');
    bd.Query.SQL.Add('From Agents');
    bd.Query.SQL.Add('where DateNaiss=23/10/1980' );
    bd.query.open;
    Quelqu'un a une idee pour m'aider ?

  8. #8
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where DateNaiss=23/10/1980
    dans la mesure où tu ne mets pas de "quotes" autour de ta date, Access l'interprète comme un nombre (23 divisé par 10 divisé par 1980, d'où pas d'erreur quel que soit le format de date, mais pas de résultat non plus

    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bd.Query.SQL.Add('where DateNaiss=''23/10/1980''');
    ou plutôt à mon avis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bd.Query.SQL.Add('where DateNaiss=''10/23/1980''');

  9. #9
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Points : 95
    Points
    95
    Par défaut
    Merci pour ta reponse :o)

    J'avais essaye au debut avec des guillements (avec les strings c'est eux que j'utilise et ca marche bien), mais ca me faisait une erreur.

    Avec les quotes ca me donne la meme erreur : type de donnees incompatibles dans l'expression du critere que je fasse 23/10 ou 10/23...

    ca doit etre une erreur toute bete

  10. #10
    Membre averti
    Avatar de delphichem
    Inscrit en
    Octobre 2002
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 280
    Points : 338
    Points
    338
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bd.Query.SQL.Add('where DateNaiss=#23/10/1980#' );

  11. #11
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Points : 95
    Points
    95
    Par défaut
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Decode avec des dates pour calculer une valeur
    Par decisio dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/01/2009, 13h50
  2. Forcer le format des dates dans une cellule
    Par cchampion2fr dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/10/2008, 14h20
  3. Prolèmes de format de date pour attaquer une base access
    Par Aboubacry dans le forum Accès aux données
    Réponses: 2
    Dernier message: 29/05/2007, 10h55
  4. format des dates d'une table déjà existante
    Par Gary_Stoupy dans le forum Access
    Réponses: 8
    Dernier message: 19/01/2007, 15h19
  5. [C#] Format des dates pour une ComboBox...
    Par frechy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/01/2005, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo