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 :

Problème de filtre sur date avec ADOQuery


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Problème de filtre sur date avec ADOQuery
    Je un problème d'ouvrir une requete ADOQuery
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    datedeb, datefin : TdateTime;
    strRequete : String;
    strRequete := 'SELECT CodeProjet, Datesaisie, Pourcentage'
     + ' From ParticiperProjet'
     + ' Where DateSaisie >= '+ QuoteChar +DateToStr(DateDeb)+ QuoteChar
     + ' And dateSaisie <=' +QuoteChar+DateToStr(DateFin) + QuoteChar;
    ADOQuery.SQL.Clear;
     ADOQuery.SQL.Add(strRequete);
     ADOQuery.Connection := UDM.ADO_Connection;
     ADOQuery.Open;
    Lorsque le programme execute la derniere ligne ADOQuery.Open,
    j'ai le message 'Type de donnée incompatible dans l'expression du critère'
    Comment filtre les dates dans une requete, ma base de données est crée avec MS Access

    Qui peut m'aider rapidement, je suis bloqué
    Lingli

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Sous Access la date doit être présentée sous la forme #mm/dd/yyyy#.
    Dans ton cas tu peux utiliser l'opérateur between pour préciser un intervalle de date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ShortDateFormat := 'mm/dd/yyyy';
    strRequete := 'SELECT CodeProjet, Datesaisie, Pourcentage ' +
     'From ParticiperProjet ' +
     'Where DateSaisie between #' + DateToStr(DateDeb) + 
     '# AND #' +DateToStr(DateFin) + '#';
    Une petite remarque: Ta question aurait mieux trouvé sa place dans le forum Delphi et Bases de Données.

    @+ et bon dev

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 75
    Points : 100
    Points
    100
    Par défaut
    Tu peux aussi faire ... BETWEEN CONVERT(datetime, 'ta_date1', 120) AND CONVERT(datetime, 'ta_date2', 120) ...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Claudius40
    Salut,

    Sous Access la date doit être présentée sous la forme #mm/dd/yyyy#.
    Dans ton cas tu peux utiliser l'opérateur between pour préciser un intervalle de date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ShortDateFormat := 'mm/dd/yyyy';
    strRequete := 'SELECT CodeProjet, Datesaisie, Pourcentage ' +
     'From ParticiperProjet ' +
     'Where DateSaisie between #' + DateToStr(DateDeb) + 
     '# AND #' +DateToStr(DateFin) + '#';
    Une petite remarque: Ta question aurait mieux trouvé sa place dans le forum Delphi et Bases de Données.

    @+ et bon dev
    Salut,
    Merci beaucoup pour ta réponse. mais j'ai essaye, par contre j'ai l'autre message erreur ' Erreur automation interne'. Veux-tu m'indiquer d'où il y a de problème, la configuration des options pour ADOQuery?
    Merci d'avance
    Lingli

  5. #5
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Alors là je ne vois pas trop ! Je te propose donc de reposer cette question dans le forum Bases de données (où tu auras certainement plus de réponses) en précisant ta version de Delphi ainsi que celle d'Access que tu utilises.

    Tu peux également demander un délestage de ce message.

    @+

  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
    Vérifie que les MDAC et le Jet Engine sont à jours sur ton poste.

    Sur quel OS travailles tu ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Malatar
    Vérifie que les MDAC et le Jet Engine sont à jours sur ton poste.

    Sur quel OS travailles tu ?
    Merci ta réponse. Mais comment vérifier MDAC et jet Engine.
    Je travaille sur Windows XP avec Delphi 7 et Ms Access 2003.

  8. #8
    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 lingli
    Merci ta réponse. Mais comment vérifier MDAC et jet Engine.
    Je travaille sur Windows XP avec Delphi 7 et Ms Access 2003.
    C'est bon pas besoin de vérifier, avec XP et Access 2003 tu es a jours normalement.

    essaie ca


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    datedeb, datefin : TdateTime;
    strRequete : String;
    strRequete := 'SELECT CodeProjet, Datesaisie, Pourcentage'
     + ' From ParticiperProjet'
     + ' Where DateSaisie >= :PDDebut'
     + ' And dateSaisie <= :PDFin';
    With AdoQuery do
    begin
      Close;
      Connection := UDM.ADO_Connection;
      SQL.Clear;
      SQL.Add(strRequete);
      ParamCheck := True;
      Paramters.ParamByName('PDDebut').Value := DateDeb;
      Paramters.ParamByName('PDFin').Value := DateFin;
      Open;
    end;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Malatar
    C'est bon pas besoin de vérifier, avec XP et Access 2003 tu es a jours normalement.

    essaie ca


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    datedeb, datefin : TdateTime;
    strRequete : String;
    strRequete := 'SELECT CodeProjet, Datesaisie, Pourcentage'
     + ' From ParticiperProjet'
     + ' Where DateSaisie >= :PDDebut'
     + ' And dateSaisie <= :PDFin';
    With AdoQuery do
    begin
      Close;
      Connection := UDM.ADO_Connection;
      SQL.Clear;
      SQL.Add(strRequete);
      ParamCheck := True;
      Paramters.ParamByName('PDDebut').Value := DateDeb;
      Paramters.ParamByName('PDFin').Value := DateFin;
      Open;
    end;
    Merci pour votre réponse.
    J'ai le même message d'erreur 'Erreur Automation interne'
    Comment je doit faire? Help me!!!

  10. #10
    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
    En pas à pas ca plante où ? sur le Open ?
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Malatar
    En pas à pas ca plante où ? sur le Open ?
    C'est sur OPEN

  12. #12
    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
    Va sur le site de microsoft, et télécharge les MDAC et le jet engine (peut être par la mise à jour avec Office devrait normalement le faire)
    Et installer le, car les composants ont peut être un problème autant mettre du propres.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  13. #13
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 75
    Points : 100
    Points
    100
    Par défaut
    J'ai déjà eu cette erreur et j'ai jamais trouvé pourquoi ça le faisait, moi j'avais supprimer mes composants ADO et je les ai recréé et c'etait correcte..

Discussions similaires

  1. Filtre sur date avec fichier Excel
    Par winter60 dans le forum Débuter
    Réponses: 1
    Dernier message: 21/11/2014, 12h14
  2. Problème de tri sur date avec ADO - ACCESS
    Par lorenzodelphi dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/09/2013, 08h28
  3. [XL-2010] Filtre sur dates avec une cellule
    Par Daniel.C dans le forum Excel
    Réponses: 7
    Dernier message: 26/04/2013, 15h09
  4. Problème de filtre sur date => semestre
    Par clgri dans le forum Designer
    Réponses: 4
    Dernier message: 18/12/2009, 12h41
  5. [BOXI] Problème de filtre sur date
    Par Julien59 dans le forum Deski
    Réponses: 6
    Dernier message: 10/06/2008, 10h25

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