Probleme access & DELPHI

Résolu
dede_367 Messages postés 7 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 7 mai 2007 - 4 févr. 2007 à 02:13
dede_367 Messages postés 7 Date d'inscription mardi 2 décembre 2003 Statut Membre Derniè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.

Merci d'avance de m'indiquer une solution.

8 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
5 févr. 2007 à 18:39
Bonsoir,

Juste une idée en passant :

Q1.Close;
Q1.SQL.Clear;
Q1.SQL.Add('SELECT COUNT(refop) from operation ');
Q1.SQL.Add('WHERE dateop = ' + QuotedStr(FormatDateTime('yyyy-mm-dd', Datetimepicker1.Date))) ;
Q1.open;

P.S. Je n'ai rien, mais alors rien testé  

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
3
Utilisateur anonyme
4 févr. 2007 à 13:45
Et si tu faisais DateToStr(Datetimepicker1.Date)
0
dede_367 Messages postés 7 Date d'inscription mardi 2 décembre 2003 Statut Membre Derniè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é.
0
dede_367 Messages postés 7 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 7 mai 2007
4 févr. 2007 à 21:00
**Oups c'est pas base de donnée Excel 2007 mais Access 2007.
Vous l'aurez bien compris ^^.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
5 févr. 2007 à 09:59
Salut,

De quel type est déclaré ton champs 'dateop' dans ta base. Texte ? ou Date ?
Je pense que ton problème viens de la.

Bon Prog
0
cs_pers Messages postés 38 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 9 décembre 2009
5 févr. 2007 à 12:27
Salut

j'utilise pas access mais dans ton expression sql (WHERE dateop :=y) le
:= me semble étonnant ainsi que le 'y' d'ailleurs

mais bon access n'est pas ma tasse de thé

@+
0
dede_367 Messages postés 7 Date d'inscription mardi 2 décembre 2003 Statut Membre Derniè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 !.

Merci
0
dede_367 Messages postés 7 Date d'inscription mardi 2 décembre 2003 Statut Membre Derniè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 !
0
Rejoignez-nous