Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

SOS REQUETE

1 réponse
Avatar
Maximino
Bonjour =E0 tous !

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 !!!

Cordialement,

Maxime

1 réponse

Avatar
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