bonjour
je reviens avec ce probleme de violation d'accès![]()
je vais essayre d'etre claire:
Sous SQL ceci marche bien :
et la mêem requete avec access j'ai " le projet a provoqué une classe d'exception EAccessViolation .. violation d'accès à l'adresse .. dans le module msjet40.dll ..."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 With formbddsql.ADOQuery1 Do Begin SQL.Clear; SQL.Add('select count(Pin_Essai.pin_seqno) as nb'); SQL.Add(' FROM Pin INNER JOIN Pin_Essai ON Pin.pin_seqno = Pin_Essai.pin_seqno INNER JOIN Essai ON Pin_Essai.ess_seqno = Essai.ess_seqno '); SQL.Add(' where Essai.ess_num= ('+quotedStr(formbddsql.EditEssai.text)+') and Pin.pin_num= ('+quotedStr(formbddsql.EditPin.text)+') '); Adoquery1.open; End; nb := adoquery1.FieldByName('nb').AsInteger;
puis après ça me met aussi "syntaxError missing operator"
alors j'essaye de refaire une requete équivalente que je fabrique dans access (avec son assistant graphique). je fais quasiment copier/coller du code SQL qu"elle génère.
et je la mets toute seule dans un bouton :
et là j'ai tjours cette erreur de violation (mais elle marche sous SQL SERver)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 procedure TFormBddSql.Button2Click(Sender: TObject); var nb : integer; begin With formbddsql.ADOQuery1 Do Begin SQL.Clear; SQL.Add('SELECT Count(Pin_Essai.pin_seqno) AS CountOfpin_seqno'); SQL.Add(' FROM Pin INNER JOIN (Essai INNER JOIN Pin_Essai ON'); SQL.Add(' Essai.ess_seqno = Pin_Essai.ess_seqno) ON Pin.pin_seqno = Pin_Essai.pin_seqno'); SQL.Add(' GROUP BY Pin.pin_num, Essai.ess_num'); SQL.Add(' HAVING (((Pin.pin_num)=('+quotedStr(formbddsql.EditPin.text)+'))'); SQL.Add(' AND ((Essai.ess_num)=('+quotedStr(formbddsql.EditEssai.text)+')))'); Adoquery1.open; End; nb := adoquery1.FieldByName('CountOfpin_seqno').AsInteger; showmessage(inttostr(nb)); end;
par contre après le résultat du showmessage est juste.
je débute alors c'est peut-etre une erreur toute bete ?? mais je vois pas ...
si qqun avait la moindre piste![]()
Partager