Access et SQL

Access et SQL - SQL/NoSQL - Programmation

Marsh Posté le 05-02-2005 à 12:27:41    

J'espere que je ne me trompe pas d'endroit en posant ma question ici.
 

Code :
  1. SELECT Format([plandate],"yyyy/mm/dd" ) AS Expr1,[Company ID]
  2. FROM [T Planning]
  3. WHERE (((Format([plandate],"yyyy/mm/dd" ))="2003/02/03" ));


 
Voici la requete produite par access lui même. Il semblerait que le driver ODBC ne veuille pas de ce truc ... je parle d'ODBC puisque cette requete fonctionne très bien dans Access.
 
J'ai essayé de cette facon aussi :

Code :
  1. $requete="SELECT Format(TPlanning.plandate,\"yyyy/mm/dd\" ) AS Expr1, TPlanning.CompanyID FROM TPlanning WHERE (((Format(TPlanning.plandate,\"yyyy/mm/dd\" ))=#2003/02/03#))";


Mais ca ne fonctionne pas mieux, j'ai systématiquement la même erreur:

Citation :

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1., SQL state 07001 in SQLExecDirect in d:\documents and settings\jcregins\desktop\weblocal\planning\affichage.php on line 19


 
Le langage qui interroge ODBC est PHP mais dans cette partie du forum personne ne semble savoir.
 
Quelqu'un a une idée ici?

Reply

Marsh Posté le 05-02-2005 à 12:27:41   

Reply

Marsh Posté le 05-02-2005 à 12:47:55    

Tu utilise la fonction 'Format' qui ne fonctionne que sous Access. C'est parce que sous Access, tu peux utiliser les fonctions VBA dans les requêtes, tu peux aussi utiliser tes propres fonctions. Mais sous ODBC, ça ne marche plus :/

Reply

Marsh Posté le 06-02-2005 à 18:56:09    

FlorentG a écrit :

Tu utilise la fonction 'Format' qui ne fonctionne que sous Access. C'est parce que sous Access, tu peux utiliser les fonctions VBA dans les requêtes, tu peux aussi utiliser tes propres fonctions. Mais sous ODBC, ça ne marche plus :/


J'utilise format parce que je suis incapable de savoir à quoi ressemble se foutu format de date. J'ai fait un print d'une ligne de ma bd et fait un copier/coller du format que j'y trouvais mais il me dit systématiquement que le format est incorrect :( Je sais bien qu'il s'agit d'un champ datetime qui devrait ressembler à peu de chsoe à : yyyy-mm-dd hh:mm:ss


Message édité par petitpata le 06-02-2005 à 18:57:32
Reply

Marsh Posté le 06-02-2005 à 18:57:44    

Ouaip, bienvenue dans l'enfer des dates :D

Reply

Marsh Posté le 06-02-2005 à 19:07:13    

FlorentG a écrit :

Ouaip, bienvenue dans l'enfer des dates :D


N'empeche, merci pour l'explication, je savais pas qu'ODBC fonctionnait comme ça ;)

Reply

Marsh Posté le 06-02-2005 à 19:13:53    

:jap:
 
D'ailleurs, une fois qu'on a fait du SQL sous Access, c'est difficile de se mettre à un autre truc style ODBC. C'est quand même bien cette histoire de mettre ses propres fonctions dans une requête :)

Reply

Marsh Posté le 06-02-2005 à 22:11:02    

FlorentG a écrit :

:jap:
 
D'ailleurs, une fois qu'on a fait du SQL sous Access, c'est difficile de se mettre à un autre truc style ODBC. C'est quand même bien cette histoire de mettre ses propres fonctions dans une requête :)


Je crois que j'ai trouvé ... l'odbc redéfinit le format des champs de date et temps en fonction du système d'exploitation sur lequel il est installé. Comme je passe d'un système d'exploitation français à un anglais, je captais plus rien :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed