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 :

MS Access et TQuery (probleme sur les dates)


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre exp�riment�
    Avatar de Djob
    Inscrit en
    Ao�t 2002
    Messages
    215
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 215
    Par d�faut MS Access et TQuery (probleme sur les dates)
    Bonjour,

    Je dois faire ,avec un TQuery, sur une base MS Access, une requete du type :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    SELECT * FROM OEUVRES WHERE DATE_OEUVRE>"22/05/2000 01:01:00"
    Sans l'heure, le code suivant fonctionne (# est equivalent � to_date sous oracle):
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    String Requete = "SELECT * FROM OEUVRES WHERE DATE_OEUVRE>#22/05/2000#"; 
    Query1->SQL->Add(Requete);
    Query1->Active=true;

    Mais en rajoutant l'heure , �a ne marche pas:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    String Requete = "SELECT * FROM OEUVRES WHERE DATE_OEUVRE>#22/05/2000 01:01:00#"; 
    Query1->SQL->Add(Requete);
    Query1->Active=true;
    j'ai donc cr�e , une requete dans access qui m'a donn�,en mode SQL, le format US de date #5/22/2000 1:1:0#" et qui s'execute correctement � partir de mS Access...
    ... , mais quand j'execute cette requete via TQuery �a ne marche pas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    String Requete = "SELECT * FROM OEUVRES WHERE DATE_OEUVRE>#5/22/2000 1:1:0#"; 
    Query1->SQL->Add(Requete);
    Query1->Active=true;
    et j'ai l'erreur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
         Field '1:0#' is of an unknown type
    je n'ai trouv� nul part la solution , juste un post d'un autre forum (http://dbforums.com/t396438.html) relatant le meme probleme mais ne donnant pas la solution ...

    je bloque depuis plus de 3 jours sur ce probleme , A l'aide !!![/b]

  2. #2
    Membre �prouv�
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Par d�faut
    je suis pas sur que tu puisses faire ca comme ca ...
    tu crois que la date et l'heure vont �tre reconnu sous cette forme dans la requete SQL ??? rien de moins sur ...

  3. #3
    Membre exp�riment�
    Avatar de Djob
    Inscrit en
    Ao�t 2002
    Messages
    215
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 215
    Par d�faut
    Quelle methode me conseille tu alors ?

  4. #4
    Membre exp�riment�
    Avatar de Djob
    Inscrit en
    Ao�t 2002
    Messages
    215
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 215
    Par d�faut
    Juste une phenomene bizarre que je viens d'observer

    en examinant la propriete Text de query :

    1er cas :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    String Requete = "SELECT * FROM OEUVRE WHERE DATE_OEUVRE>#5/22/2000#"
    Query1->SQL->Add(Requete);
    ShowMessage(Query1->Text);
    ..m'affiche bien
    SELECT * FROM OEUVRE WHERE DATE_OEUVRE>#5/22/2000#

    tandis que :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    String Requete = "SELECT * FROM OEUVRE WHERE DATE_OEUVRE>#5/22/2000 1:1:0#"
    Query1->SQL->Add(Requete);
    ShowMessage(Query1->Text);
    ... m'affiche:
    SELECT * FROM OEUVRE WHERE DATE_OEUVRE>#5/22/2000 0?

    Est-ce que �a ne viendrait pas de la bde ?

  5. #5
    Membre exp�riment�
    Avatar de Djob
    Inscrit en
    Ao�t 2002
    Messages
    215
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2002
    Messages : 215
    Par d�faut
    Bah �a y est j'ai compris mon erreur :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Field '1:0#' is of an unknown type
    dans la requete
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    "SELECT * FROM OEUVRES WHERE DATE_OEUVRE>#5/22/2000 1:1:0#";
    En fait le bde interprete mes 2 points ":" comme etant un parametre de TQuery ( cf. Propriete Params de TQuery) donc il cherche un parametre que j'aurais defini ayant le nom 1:0#

    ..mais comme j'avais jamis utilis� cette propri�t� Params ....

    donc en fait la solution est de mettre des doubles points "::"

    ce qui donne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    String Requete = "SELECT * FROM OEUVRES WHERE DATE_OEUVRE>#5/22/2000 1::1::0#"; 
    Query1->SQL->Add(Requete); 
    Query1->Active=true;

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probleme sur les dates/format
    Par cott333 dans le forum Macros et VBA Excel
    R�ponses: 2
    Dernier message: 01/02/2012, 04h00
  2. R�ponses: 9
    Dernier message: 03/06/2009, 14h36
  3. [Access] Calcul sur les dates
    Par vrachid dans le forum Bases de donn�es
    R�ponses: 21
    Dernier message: 02/04/2008, 14h17
  4. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    R�ponses: 16
    Dernier message: 03/08/2006, 16h55

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