korichitarek
Messages postés37Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention14 novembre 2016
-
15 avril 2007 à 19:27
cs_Toukal
Messages postés2Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention31 décembre 2010
-
31 déc. 2010 à 09:08
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>
Bonjour tout le monde j’ai un probleme serieux?????
Lorsque je lance l’execution de la requete ADOQuery1 à partir d’un bouton et cela pour calculer le nombre ,sachant que :
-- la table1 est une table access ;
-- les propriètes de ADOQuery1 :
- cursor location
: clUseServer
- cursor type
: ctKeyset
- lock type
: ltOptimistic
- sql
: SELECT x,y,COUNT( * ) as nombre
FROM TABLE1
GROUP BY x,y
ORDER BY x,y
procedure FORM1.Button1Click(Sender: TObject);
BEGIN
ADOQuery1.Active :=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select x,y,COUNT( * ) as nombre');
ADOQuery1.SQL.Add('from TABLE1);
ADOQuery1.SQL.Add('GROUP BY x,y');
ADOQuery1.SQL.Add('ORDER BY x,y');
ADOQuery1.Active :=true;
END ;
un message d’erreur qui s’affiche :
---------------------------
Notification d'une exception du débogueur
---------------------------
"Le projet projet.exe a provoqué une classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 1B041FC6 dans le module 'msjet40.dll'. Lecture de l'adresse 0003242E'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer."
N.B
:
Tout va bien lorsque s’il s’ agit de l’execution lors de la conception de la FORM1 (c-à-d lors de l’affectation du valeur TRUE à la propriété ACTIVE de ADOQuery1 car le sql est définit dans la propriété SQL de la requete -le meme SQL-)
korichitarek
Messages postés37Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention14 novembre 2016 17 avril 2007 à 12:26
Merci de me repondre;
mais je vous confirme que tous les proprietées nécessaire sont faite dans l'inspecteur d'objet de adoquery y compris la connection à la base access, en plus de ça je vous ai spécifier dans N.B que Tout va bien lorsque s'il s' agit de l'execution de la requete lors de la conception de la FORM1 (c-à-d lors de l'affectation du valeur TRUE à la propriété ACTIVE de ADOQuery1 car le sql est définit dans la propriété SQL de la requete -le meme SQL-)<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
et le resultat de la requete s'affiche sur le dbgrid comme je le veux ,pas d'erreur;
donc d'apres mon analyse tout est bon coté delphi je pense que le pbm coté acces ???
je ne sais pas .
l'essentiel pour moi je veux executer une requete adoquery qui contient un GROUP BY ,biensur pour béneficier des fonctions d'agregat comme sum,count .
korichitarek
Messages postés37Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention14 novembre 2016 21 avril 2007 à 10:23
merci bien de me repondre ;
mais c pas la premiere fois que j'execute un adoquery et j'ai jamais je touche à la connection par :
ADOConnection1.Connected := false;
ADOConnection1.Connected := true
il suffit que dés le debut dans l'inspecteur d'objet de la ADOConnection1 spécifier la propriétée connection à true et tout va bien pour adoquery ;
l'essentiel je vais essayer ta ideé et ensuite je te répond ?????
cordial
Vous n’avez pas trouvé la réponse que vous recherchez ?
korichitarek
Messages postés37Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention14 novembre 2016 21 avril 2007 à 16:50
Voila Monsieur;
j'ai essayer :
ADOConnection1.Connected := false;
ADOConnection1.Connected := true;
comme t'as dit mais toujours le meme pbm;
soyez sur q c pas la premier fois q j'execute un adoquery
une petite remarque ça peut t'aider à m'aider :
lorsque j'enleve le "COUNT( * ) as nombre" de mon sql malgré je laisse le "GROUP BY x,y", resulat est bonne et s'affiche bien sur le DBGRID avec le regroupement par le champ x et y , mais lorsque j'ajoute le COUNT le pbm intervient. avec le meme message.
je pense q le pbm a un lien avec
- les fonction d'agrégat comme SUM,COUNT etc... dans ADOQUERY el moteur jet de ACCESS...
l'essentiel essaye un petit exemple avec un ADOQUERY, ACCESS et COUNT et tu viras ?
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 21 avril 2007 à 19:04
je ne mets pas en cause tes compétences korichitarek mais si tu poses une question
c'est que tu as bien un souci que tu n'as pas résolu..
on en est tous là figure toi..
Moi aussi il m'arrive de buter sur des trucs élémentaires et je pose aussi des questions de temps en temps sur le forum..
c'est normal et en plus c'est fait pour çà le forum !
pour ma part :
Ta requête est correcte et fonctionne..Je l'ai testée avec SQL manager..
Mais c'est vrai que le SQL avec ADO n'est pas le même..
Mais je pense que l'os est ailleurs..
une autre piste :
vérifie quels champs sont stockés dans ton query et dans le DBGrid
korichitarek
Messages postés37Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention14 novembre 2016 26 avril 2007 à 17:15
les champs sont corrects est bien puisque je vous ai dit avant que Tout va bien lorsque s'il s' agit de l'execution de la requete lors de la conception de la FORM1 et tout s'affiche dans l'ordre sur le dbgrid