Je suis en train de faire une requ=EAte bas=E9e sur des fichiers HyperFile
et sur une vue qui =E9mane d'un fichier HYPER FILE.
La requ=EAte ne donne pas d'erreur =E0 son execution (elle semble =EAtre ok
d'un point de vue syntaxique) mais ne donne rien au final.
voici le code utili=E9 :
SI PAS HCr=E9eVue(VueFormule1,FORMULE1,"FORM_ID") ALORS
Erreur(HErreurInfo())
FIN
Z_SQL_Requete =3D "SELECT VueFormule1.FORM_ID "
Z_SQL_Requete +=3D "FROM VueFormule1, R_FORM_APPL "
Z_SQL_Requete +=3D "WHERE R_FORM_APPL.FORM_Id =3D VueFormule1.FORM_ID"
Z_SQL_Requete +=3D "AND (R_FORM_APPL.APPL_Id =3D 95)"
// Initialise la requ=EAte
SI PAS HEx=E9cuteRequ=EAteSQL(Z_FORM_APPLIC,hRequ=EAteD=E9faut,Z_SQL_Requete=
)
ALORS
Erreur("Erreur d'initialisation de la requ=EAte"+RC+HErreurInfo())
RETOUR
FIN
Info(HNbEnr(Z_FORM_APPLIC))
A ce stade le Nbre de RECORD donne toujours ZERO, la requ=EAte est
VIDE !!!
si je remplace la Vue (VueFormule1) par le fichier concern=E9 tout va
tr=E8s bien
Alors l=E0 je s=E8che lamentablement, car je ne comprends pas....
Si quelqu'un peut m'aider.... Je vous remercie de votre aide !!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Albert
Bonjour,
Pourquoi passer par une vue alors que vous faite appel a 2 fichiers ?
sdReq est une source de sonnées sCode, sCodeSQL sont des chaines nRech est un entier = 95
// [< Code de la requête >] sCode [ SELECT FORMULE1.[FORM_ID] FROM FORMULE1 JOIN R_FORM_APPL ON ( R_FORM_APPL.[FORM_Id] = FORMULE1.[FORM_ID] ) AND R_FORM_APPL.[APPL_Id] = %1 GROUP BY FORMULE1.[FORM_ID] ORDER BY FORMULE1.[FORM_ID] ]
// [< Construction de la requête >] sCodeSQL = ChaineConstruit( sCode, nRech) SI PAS HExécuteRequêteSQL(sdReq, sCodeSQL) ALORS ERREUR(">>> Erreur d'initialisation de la requête"+RC +HErreurInfo()) RETOUR
SINON
// [< Parcours de la requete >] POUR TOUT sdReq
// [< Code traitement >]
FIN
HAnnuleDéclaration(sdReq)
FIN
En espérant vous avoir aidé
Cordialement
Albert
Bonjour,
Pourquoi passer par une vue alors que vous faite appel a 2
fichiers ?
sdReq est une source de sonnées
sCode, sCodeSQL sont des chaines
nRech est un entier = 95
// [< Code de la requête >]
sCode [
SELECT FORMULE1.[FORM_ID]
FROM FORMULE1
JOIN R_FORM_APPL
ON ( R_FORM_APPL.[FORM_Id] = FORMULE1.[FORM_ID] )
AND R_FORM_APPL.[APPL_Id] = %1
GROUP BY FORMULE1.[FORM_ID]
ORDER BY FORMULE1.[FORM_ID]
]
// [< Construction de la requête >]
sCodeSQL = ChaineConstruit( sCode, nRech)
SI PAS HExécuteRequêteSQL(sdReq, sCodeSQL) ALORS
ERREUR(">>> Erreur d'initialisation de la requête"+RC
+HErreurInfo())
RETOUR
Pourquoi passer par une vue alors que vous faite appel a 2 fichiers ?
sdReq est une source de sonnées sCode, sCodeSQL sont des chaines nRech est un entier = 95
// [< Code de la requête >] sCode [ SELECT FORMULE1.[FORM_ID] FROM FORMULE1 JOIN R_FORM_APPL ON ( R_FORM_APPL.[FORM_Id] = FORMULE1.[FORM_ID] ) AND R_FORM_APPL.[APPL_Id] = %1 GROUP BY FORMULE1.[FORM_ID] ORDER BY FORMULE1.[FORM_ID] ]
// [< Construction de la requête >] sCodeSQL = ChaineConstruit( sCode, nRech) SI PAS HExécuteRequêteSQL(sdReq, sCodeSQL) ALORS ERREUR(">>> Erreur d'initialisation de la requête"+RC +HErreurInfo()) RETOUR