OVH Cloud OVH Cloud

[WD10] Hexecuterequetesql sur une base hf

7 réponses
Avatar
Roumegou Eric
je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et
j'ai une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:\Mes
Projets\C_monprojet\monprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:\monprojet\Exe.
L'analyse est bien rattachée au projet... bref je ne vois pas où ça
coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:\monprojet\Exe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)

7 réponses

Avatar
Roumegou Eric
Le 23/02/2006, Roumegou Eric a supposé :
je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et j'ai
une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe. L'analyse
est bien rattachée au projet... bref je ne vois pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN



ben oui ça doit marcher ... mais comme je me suis planté dans le
paramètre (pas donné le bon, donc c'est de l'alpha et non du num), j'ai
ce msg qui n'a rien à voir.

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Bref ne prenez pas l'habitude de travailler avec des moteurs sql plus
intélligents.

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)
Avatar
Pascal F
Roumegou Eric avait énoncé :
je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et j'ai une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe. L'analyse est bien rattachée au projet... bref je ne vois
pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN



Je pense que déjà tu devrais tester la valeur de retour de la requete pour savoir si elle s'est bien passée ou bien connaitre
l'erreur avec herreurinfo().
Voila un exemple de code que j'utilise

so_MaSource est une Source de Données
cReq est une chaîne

ArbreSupprimeTout(arb_Emprunt)
// Préparation de la requete de sélection du fichier verion du prévisionnel
cReq=[
SELECT EMPRUNT.IDEMPRUNT AS IDIMMOBILISATION,
EMPRUNT.Libelle_Emprunt AS Designation,
EMPRUNT.Date_Debut AS Date_Achat,
EMPRUNT.Montant_Emprunt AS Prix_Achat_Immo,
PCG_005.Num_Compte AS Num_Compte,
PCG_005.Libelle_Compte as Libelle_Compte ,
EMPRUNT.IDVERSION_PREVISIONNEL AS IDVERSION_PREVISIONNEL
FROM PCG_005, EMPRUNT
WHERE PCG_005.IDPCG_005 = EMPRUNT.IDPCG_005
AND EMPRUNT.IDVERSION_PREVISIONNEL = %1
ORDER BY Num_Compte, Date_Achat ASC
]

cReq=ChaîneConstruit(cReq,IDVERSION_PREVI)

SI PAS HExécuteRequêteSQL(so_MaSource,hRequêteDéfaut,cReq) ALORS
Erreur(HErreurInfo(hErrComplet))
RETOUR
FIN

POUR TOUT so_MaSource
ArbreAjoute(arb_Emprunt,so_MaSource.Num_Compte,imgService,imgService,so_MaSource.Num_Compte,aDernier,so_MaSource.Libelle_Compte)
ArbreAjoute(arb_Emprunt,so_MaSource.Num_Compte+TAB+so_MaSource.Designation,IMG_FLO,IMG_FLO,so_MaSource.Num_Compte+"_"+so_MaSource.IDIMMOBILISATION,aDernier+aAccepteDoublon,NumériqueVersChaîne(so_MaSource.Prix_Achat_Immo,"12,2fs")+"
"+DateVersChaîne(so_MaSource.Date_Achat))
FIN

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
VincentC
Roumegou Eric avait écrit le 23/02/2006 :
je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et j'ai
une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe. L'analyse
est bien rattachée au projet... bref je ne vois pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN



Le pb ne viendra pas plutot de la ligne Hlitpremier :
Essai :
HLitPremier(RKEYWORD)
Avatar
VincentC
Roumegou Eric avait écrit le 23/02/2006 :
je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et j'ai
une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe.
L'analyse est bien rattachée au projet... bref je ne vois pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN



Le pb ne viendra pas plutot de la ligne Hlitpremier :
Essai :
HLitPremier(RKEYWORD)
Avatar
philippe.dupas
wch2 est une chaine de caractères, au lieu de :
" AND QUESTIONNAIRE.FONCTION = "+wch2)



il faudrait plutôt écrire (si QUESTIONNAIRE.FONCTION est une chaine) :
" AND QUESTIONNAIRE.FONCTION ='"+wch2+"'")





"Roumegou Eric" a écrit dans le message de news:

je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et
j'ai une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe.
L'analyse est bien rattachée au projet... bref je ne vois pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)




Avatar
Roumegou Eric
Après mure réflexion, philippe.dupas a écrit :
wch2 est une chaine de caractères, au lieu de :
" AND QUESTIONNAIRE.FONCTION = "+wch2)



il faudrait plutôt écrire (si QUESTIONNAIRE.FONCTION est une chaine) :
" AND QUESTIONNAIRE.FONCTION ='"+wch2+"'")





oui c'était bien ça le pb, comme je l'ai dit plus haut. La requete
échouait et comme le msg m'orientait vers toute autre chose, je ne
regardais pas de ce côté.
En fait la var attendue était bien num (sauf que je n'utilisais pas le
bonne var)
Et c'est vrai qu'il fallait que je teste le code retour de la requete
pour avoir le msg d'erreur.






"Roumegou Eric" a écrit dans le message de news:

je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et j'ai
une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe.
L'analyse est bien rattachée au projet... bref je ne vois pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN

-- Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)








--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)
Avatar
[Bernard Vessiot]
Roumegou Eric a exposé le 24/02/2006 :
Après mure réflexion, philippe.dupas a écrit :
wch2 est une chaine de caractères, au lieu de :
" AND QUESTIONNAIRE.FONCTION = "+wch2)



il faudrait plutôt écrire (si QUESTIONNAIRE.FONCTION est une chaine) :
" AND QUESTIONNAIRE.FONCTION ='"+wch2+"'")





oui c'était bien ça le pb, comme je l'ai dit plus haut. La requete échouait
et comme le msg m'orientait vers toute autre chose, je ne regardais pas de ce
côté.
En fait la var attendue était bien num (sauf que je n'utilisais pas le bonne
var)
Et c'est vrai qu'il fallait que je teste le code retour de la requete pour
avoir le msg d'erreur.






"Roumegou Eric" a écrit dans le message de news:

je veux utiliser Hexecuterequetesql (et pas passer par une req wdr) et
j'ai une erreur

Fichier <RKEYWORD> inconnu dans l'analyse <C:Mes
ProjetsC_monprojetmonprojet.wdd>, ou requête ou vue non initialisée.

Le fichier QUESTIONNAIRE est HF. Il se trouve ds D:monprojetExe.
L'analyse est bien rattachée au projet... bref je ne vois pas où ça coince

i,imax sont des entiers
wch1,wch2,wch3 est une chaîne
RKEYWORD est une Source de Données
HSubstRep("*","D:monprojetExe")
res est un booléen
POUR i=1 A imax
wch1=ExtraitChaîne(Etape1,i,"*")
wch2=Milieu(wch1,2,1)
wch3=Gauche(wch1,1)
SI wch2="T" ALORS
res=HExécuteRequêteSQL(RKEYWORD,"SELECT QUESTIONNAIRE.MOTCLE AS
motcle,"+...
"QUESTIONNAIRE.FONCTION AS fn "+...
" FROM QUESTIONNAIRE "+...
" WHERE QUESTIONNAIRE.ECRAN = "+i+...
" AND QUESTIONNAIRE.FONCTION = "+wch2)

HLitPremier("RKEYWORD")
SELON RKEYWORD.fn
CAS 1,2 : A01+=RKEYWORD.motcle
CAS 4,6 : A02+=RKEYWORD.motcle
CAS 3,5 : A03+=RKEYWORD.motcle
CAS 7,8 : A04+=RKEYWORD.motcle
FIN
FIN


FIN

-- Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)







Salut Eric,
personnellement, j'utilise depuis la V9 la syntaxe suivante:

Mareq est une chaine [
SELECT QUESTIONNAIRE.MOTCLE AS motcle,
QUESTIONNAIRE.FONCTION AS fn
FROM QUESTIONNAIRE
WHERE QUESTIONNAIRE.ECRAN = %1
AND QUESTIONNAIRE.FONCTION = %2
]
Mareq=Chaineconstruit(mareq,Mavaleur1,mavaleur2)
res=HExécuteRequêteSQL(RKEYWORD,mareq)
...
...
Je trouve que visuellement c'est plus propre et on s'affranchit des
+... "" '' () et autres...
de plus si tu a besoin de passer une chaine a ta requete tu peux faire
"%1" et ça marche !
:-)
@+++


--
[Bernard Vessiot]
34980 Saint Gély du Fesc