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

C++Builder Discussion :

ODBC Access => Type Incompatible avec un champ DATE ?


Sujet :

C++Builder

  1. #1
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut ODBC Access => Type Incompatible avec un champ DATE ?
    Bonjour,
    Après pas mal de recherche je fais appel à vous !
    J'ai un problème lors de l'insertion de données avec une DATE dans une base de type Access. Il me met l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ADOQuery1->SQL->Add( "INSERT INTO clients(nom,prenom,adresse,codepostal,ville,telephonefixe,telephoneportable,email,datenaissance) VALUES( '" + ENom->Text + "', '" + EPrenom->Text + "', '" + EAdresse->Text + "', '" + ECP->Text + "', '" + EVille->Text + "', '" + ETF->Text + "', '" + ETP->Text + "', '" + EMail->Text + "', '" + EDate + "' )" );
    Sans date, ça marche! La date est au format "JJ/MM/AAAA".
    Il me met l'erreur suivante :
    [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère
    Mon type de données dans ma base Access est : Date/Heure avec comme format : abrégé DD/MM/YYYY
    Savez-vous comment je dois faire ?
    Merci d'avance,
    MaTHieU_
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,
    Dans l'instruction SQL a la fin tu dis :
    alors que partout ailleurs tu dis :
    '" + EMail->Text + "'
    par exemple...Si je comprends bien ce sont les valeurs saisies dans des TEdits, donc ne serait ce pas la le souci ou est ce juste une erreur de saisie lors de la redaction de ton post ?
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  3. #3
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut yop
    Salut,
    Voici un complément d'informations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    AnsiString EDate = "";
    if( DateTimePicker1->Checked )
    {
             EDate = DateTimePicker1->Date;
    }
    else
    {
             EDate = "00/00/0000";
    }
    Merci pour votre aide,
    MaTHieU_
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  4. #4
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,
    Dernière question bète de ma part :
    je suppose que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TDate D = Form1->DateTimePicker1->Date;
    ne changera rien a l'histoire ...?
    @ +
    Aux persévérants aucune route n'est interdite.
    Celui qui ne sait pas se contenter de peu ne sera jamais content de rien.
    Current Status
    Avec 40% de pollinisateurs invertébrés menacés d'extinction selon les Nations Unies, l'homme risque fort de passer de la monoculture à la mono diète...
    Faîtes quelque chose de bien avec vos petits sous: Enfants du Mekong

  5. #5
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut yop
    Salut,
    Je ne pense pas
    Par contre, je ne sais pas trop comment Access gère l'insertion de ses dates...
    Merci,
    MaTHieU_
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

  6. #6
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Bonjour !
    Il y a quelques erreurs ...

    ADOQuery1->SQL->Add( "INSERT INTO clients(nom,prenom,adresse,codepostal,ville,telephonefixe,telephoneportable,email,datenaissance) VALUES( '" + ENom->Text + "', '" + EPrenom->Text + "', '" + EAdresse->Text + "', '" + ECP->Text + "', '" + EVille->Text + "', '" + ETF->Text + "', '" + ETP->Text + "', '" + EMail->Text + "', '" + EDate + "' )" );
    Sous Access, les dates sont entre #

    La date est au format "JJ/MM/AAAA".
    Sous SQL les dates, il vaut mieux les passer sous la forme MM/JJ/AAAA

    Par conséquent, le code devrait plutôt être :
    ADOQuery1->SQL->Add( "INSERT INTO clients(nom,prenom,adresse,codepostal,ville,telephonefixe,telephoneportable,email,datenaissance) VALUES( '" + ENom->Text + "', '" + EPrenom->Text + "', '" + EAdresse->Text + "', '" + ECP->Text + "', '" + EVille->Text + "', '" + ETF->Text + "', '" + ETP->Text + "', '" + EMail->Text + "', #" + EDate + "# )" );
    En espérant que EDate soit dans le bon format ... voilà !



  7. #7
    Membre actif

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Points : 262
    Points
    262
    Par défaut yop
    Salut,
    Merci beaucoup pour votre aide! Ca marche maintenant !
    Voici ce que ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if( DateTimePicker1->Checked )
    {
                ADOQuery1->SQL->Add( "INSERT INTO clients(nom,prenom,adresse,codepostal,ville,telephonefixe,telephoneportable,email,datenaissance) VALUES( '" + ENom->Text + "', '" + EPrenom->Text + "', '" + EAdresse->Text + "', '" + ECP->Text + "', '" + EVille->Text + "', '" + ETF->Text + "', '" + ETP->Text + "', '" + EMail->Text + "', #" + DateToStr(DateTimePicker1->Date) + "# )" );
    }
    else
    {
                ADOQuery1->SQL->Add( "INSERT INTO clients(nom,prenom,adresse,codepostal,ville,telephonefixe,telephoneportable,email) VALUES( '" + ENom->Text + "', '" + EPrenom->Text + "', '" + EAdresse->Text + "', '" + ECP->Text + "', '" + EVille->Text + "', '" + ETF->Text + "', '" + ETP->Text + "', '" + EMail->Text + "' )" );
    }
    Bon WE,
    MaTHieU_
    Embarcadero RAD Studio XE / Microsoft Windows 7 Édition Intégrale (64 bits)

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

Discussions similaires

  1. [XL-2007] Type incompatible avec un tableau en vba
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/07/2009, 11h46
  2. [ODBC] Access - Pb avec les champs Date
    Par frochard dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/03/2009, 12h29
  3. VBScript - Type incompatible avec COM créé en Delphi
    Par ShaiLeTroll dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 23/04/2008, 18h33
  4. Problème de "Type incompatible" avec tableau et Vector
    Par pat-trix dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 08/07/2006, 00h42
  5. ACCESS 2002 (XP) incompatible avec lui même ?
    Par xanthos1348 dans le forum Access
    Réponses: 1
    Dernier message: 06/12/2005, 00h23

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