| |
Membre enregistré 229 messages |
|
Posté le 11 octobre 2021 - 18:08 |
bonjour
j'ai une erreur que je n'explique pas dans :
PROCÉDURE agregcommande() sdcertificat est une Source de Données sdcertificat="certificat_ent" sddetail est une Source de Données sddetail = "CERTIFICAT_DET" sdcommande est une Source de Données sdcommande = "commande_ent" SI PAS HDéclareExterne("certificat_ent.FIC", "certificat_ent") ALORS // Erreur de déclaration du fichier //RENVOYER HErreurInfo() FIN SI PAS HDéclareExterne("certificat_det.FIC", "certificat_det") ALORS // Erreur de déclaration du fichier //RENVOYER HErreurInfo() FIN SI PAS HDéclareExterne("commande_ent.FIC", "commande_ent") ALORS // Erreur de déclaration du fichier //RENVOYER HErreurInfo() FIN req est une Source de Données req2 est une Source de Données sQl est une chaîne
//Sablier(Vrai)
POUR TOUT sdcertificat AVEC "etatcertif='E' OU etatcertif='F' OU etatcertif='J' ET datecre>='20190101'" // pour les certificat exportés... // rechercher les details etalonnage effectué correct ou incorrect... //si sdcertificat.NoCertificat="Z1912509" alors stop HExécuteRequêteSQL(req,"SELECT COUNT("+sddetail+".NoCertificat) AS Comptage_1 FROM "+sddetail+" WHERE ("+sddetail+".EtatCertif = 'B' ) AND "+sddetail+".NoCertificat = '"+sdcertificat.NoCertificat+"' GROUP BY "+sddetail+".nocertificat ") HLitPremier(req) // compter les masses pour ce CE... HExécuteRequêteSQL(req2,"SELECT COUNT("+sddetail+".RgMasse) AS Comptage_1,"+sddetail+".NoCertificat AS NoCertificat FROM "+sddetail+" WHERE "+sddetail+".NoCertificat ='"+ sdcertificat.NoCertificat+"' GROUP BY "+sddetail+".NoCertificat") HLitPremier(req2) SI req.comptage_1 = req2.comptage_1 ALORS //si toutes les masses sont terminées pour ce CE... HLitRecherchePremier(sdcertificat,NoCertificat,sdcertificat.NoCertificat) SI HTrouve(sdcertificat) ALORS sdcertificat.EtatCertif="B" // marquer CE à étalonnage correct HModifie(sdcertificat) FIN //sinon //OU etatcertif='F'sdCertificat.etatcertif="F" // marquer CE à étalonnage incorrect FIN //tracer("agregecmde()","agrege "+sdcertificat.NoCertificat) FIN
dans la ligne de la boucle POUR HExécuteRequêteSQL(req,"SELECT COUNT("+sddetail+".NoCertificat) AS Comptage_1 FROM "+sddetail+" WHERE ("+sddetail+".EtatCertif = 'B' ) AND "+sddetail+".NoCertificat = '"+sdcertificat.NoCertificat+"' GROUP BY "+sddetail+".nocertificat ")
le signe + est souligné en rouge avec le message type incompatible est ce un erreur ou un avertissement ? car la procédure fonctionne il me semble
merci
-- LH |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 229 messages |
|
Posté le 19 octobre 2021 - 14:01 |
bonjour
toujours pas d'idée sur ce phénomène...
merci
-- LH |
| |
| |
| | | |
|
| | |
| |
Posté le 19 octobre 2021 - 15:23 |
....le signe + est souligné en rouge avec le message type incompatible...
Lequel ? A vu de nez, j'en compte 11 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 229 messages |
|
Posté le 20 octobre 2021 - 11:41 |
oui mais ça correspond à quoi ?? ça n’empêche pas la proc de fctionner... comment corriger ?
merci
-- LH |
| |
| |
| | | |
|
| | |
| |
Posté le 20 octobre 2021 - 14:50 |
si tu ne nous dis pas QUEL signe + est en erreur, on n'a aucun moyen de te répondre |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 329 messages Popularité : +28 (32 votes) |
|
Posté le 20 octobre 2021 - 15:40 |
Déjà, je pense que tu peux commencer par simplifier ta requête:
HExécuteRequêteSQL(req, "SELECT COUNT(NoCertificat) AS Comptage_1 FROM " + sddetail + " WHERE EtatCertif = 'B' AND NoCertificat = '" + sdcertificat.NoCertificat + "' GROUP BY NoCertificat"
-- ——————————————————————————————————— Ce qui se conçoit bien se code clairement et se débogue facilement...
- Pastiche d’une citation de Nicolas Boileau - |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 229 messages |
|
Posté le 20 octobre 2021 - 16:12 |
c'est justement tous les signes + qui sont soulignes rouges
-- LH |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 229 messages |
|
Posté le 20 octobre 2021 - 16:14 |
en fait c'est le 1er + de chaque HExécuteRequêteSQL
-- LH |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 229 messages |
|
Posté le 20 octobre 2021 - 16:20 |
si je supprime le sddetail +".NoCertificat comme le précise Dergen, ce qui est vrai, alors c'est le 2eme+ qui se souligne rouge
-- LH |
| |
| |
| | | |
|
| | |
| |
Posté le 20 octobre 2021 - 16:21 |
Bonjour,
sddetail c'est une source de données, dans la requête tu veux ajouter la chaine "sddetail". Est-ce qu'il faudrait pas mettre sddetail..Nom ou un truc dans le genre ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 329 messages Popularité : +28 (32 votes) |
|
Posté le 20 octobre 2021 - 16:49 |
A mon avis, comme cela, en étant loin de mon Windev, je dirait que ton PB est que tu définis la variable "sddetail" comme une source de données. et que tu mélanges les genres avec le besoin d'une variable de type chaine dans la construction de ta requête.
-- ——————————————————————————————————— Ce qui se conçoit bien se code clairement et se relit facilement...
- Pastiche d’une citation de Nicolas Boileau - |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 329 messages Popularité : +28 (32 votes) |
|
Posté le 20 octobre 2021 - 16:53 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 90 messages Popularité : +7 (7 votes) |
|
Posté le 20 octobre 2021 - 21:30 |
Il faudrait écrire la chaine de code SQL avec
sddetail..Nom, donc une chaine, au lieu de sdderail qui est une source de données |
| |
| |
| | | |
|
| | |