dede_367
Messages postés7Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention 7 mai 2007
-
4 févr. 2007 à 02:13
dede_367
Messages postés7Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention 7 mai 2007
-
11 févr. 2007 à 14:30
Bonjour,
J'ai un probleme concernant delphi et access sur le format de la date.
Voici le code :
begin
Q1.Close;
Q1.SQL.Clear;
Q1.sql.add('SELECT COUNT(refop) from operation ');
Q1.SQL.Add(' WHERE dateop :=y ');
Q1.Params[0].AsString := FormatDateTime('mm/dd/yyyy', Datetimepicker1.Date);
//Q1.Params[0].AsString := ' #01/28/2007# '; // Test Direct
ShowMessage(Q1.Params[0].AsString);
Q1.open;
J'ai beau faire tous les formats avec ou sans '#' a chaque extremité de la date, delphi me renvoie cette erreur :
project1.exe raised exception class EDBEngineError with message'General SQL error.
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (operateur absent) dans l'expression 'dateop Pa_RaM000' Process Stopped.
Je galere pas mal depuis un petit moment et j'ai imperativement besoin de la date pour mon projet.
dede_367
Messages postés7Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention 7 mai 2007 4 févr. 2007 à 20:59
Non toujours la meme erreur,
Le probleme se situe entre
Q1.SQL.Add(' WHERE dateop :=y ');
ou
Q1.Params[0].AsString := DateToStr(Datetimepicker1.Date)
J'ai toujours la meme erreur qui dit erreur de syntaxe.
J'utilise une base de donnée avec Excel 2007 en mode compatibilité 2003 mais je doute fortement que cela provienne de la base de donnée excel.
J'ai trouvé sur des forums qu'il fallait mettre des # de chaque cotés de la date cependant rien a faire.
Si je mets Q1.Params[0].AsString := ' #01/28/2007# '; toujours pareil.
Je suis desesperé.
dede_367
Messages postés7Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention 7 mai 2007 5 févr. 2007 à 17:40
Concernant dateop, je l'ai déclaré en texte ou en date, j'ai effectué les 2 tests et ca ne change rien.
J'ai testé directement avec un objet query en mettant une requete SQL et ca passe super bien.
WHERE dateop = #01/01/2007#.
C'est dès que j'utilise une variable pour ma date que les choses ne vont plus.
Pers , concernant (WHERE dateop := y ) delphi analyse le := en tant que parametre
d'où le :
Q1.Params[0].AsString := DateToStr(Datetimepicker1.Date) où Q1.Params[0] designe y.
Je ne suis pas as de la prog delphi mais vraiment pas un débutant non plus ^^.
C'est une situation bizzare où j'arrive pas à effectuer des opérations sur les dates alors que j'ai précédement jamais eu de probleme. D'où Votre aide !.
dede_367
Messages postés7Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention 7 mai 2007 11 févr. 2007 à 14:30
Exactement ca merci beaucoup.
En passant par un parametre delphi n'arrive pas a interpreter correctement la variable date.
J'étais borné a utiliser le parametre
J'ai compris la leçon !