Récupérer 1 valeur null, requête, Windev 11 !

Résolu/Fermé
Onishi Messages postés 314 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 11 février 2009 - Modifié par crapoulou le 12/04/2016 à 20:25
NADIR-KRAIMIA Messages postés 3 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 25 avril 2009 - 24 avril 2009 à 00:36
Bonjour, je suis comme qui dirait un peu embêté et je fais donc appel à toutes les grandes lumières de Windev(11) pour pouvoir m'aider à résoudre mon problème.

J'ai actuellement un traitement a faire avec plusieurs requêtes permettant de faire des calculs ou autres. Ces requêtes ont été placées dans une procédure, mais j'ai un problème lors de la compilation avec cette dernière :

PROCEDURE RequêteCoef(in_AR_Ref, sdInOut_reqCof est une Source de Données, out_NbEnr est un entier)

//Première requête affichant les prix de vente de la table F_ARTCLIENT pour l'article AR_REF
HExécuteRequêteSQL(sdInOut_reqCof,hRequêteSansCorrection, "SELECT AC_PrixVen, AR_Ref FROM F_ARTCLIENT WHERE AR_Ref ='" + in_AR_Ref + "'")
//On vérifie que la requête contient des enregistrements
HLitPremier(sdInOut_reqCof) //Charge la requête
SI HNbEnr(sdInOut_reqCof) > 0 ALORS
//Une deuxième requête effectue le calcul entre le coef de la table F_ARTCLIENT et le prix d'achat de la table F_ARTICLE
HExécuteRequêteSQL(sdInOut_reqCof,hRequêteSansCorrection, "SELECT AC_Coef * AR_PrixAch AS CalculCoef FROM F_ARTICLE, F_ARTCLIENT WHERE F_ARTICLE.AR_Ref='" + sdInOut_reqCof.AR_Ref + "'")
SINON
//Sinon, si la première requête toujours, renvoie cette fois ci un résultat VIDE alors
HExécuteRequêteSQL(sdInOut_reqCof,hRequêteSansCorrection, "SELECT AC_PrixVen, AR_Ref FROM F_ARTCLIENT WHERE AR_Ref ='" + in_AR_Ref + "'")
HLitPremier( sdInOut_reqCof )
SI HNbEnr( sdInOut_reqCof ) > 0 ALORS
//Une troisième requête affiche le prix de vente de la table F_ARTICLE
HExécuteRequêteSQL(sdInOut_reqCof,hRequêteSansCorrection, "SELECT AR_PrixVen FROM F_ARTICLE WHERE AR_REF='" + in_AR_Ref + "'")
FIN
FIN
HLitPremier( sdInOut_reqCof )
out_NbEnr = HNbEnr( sdInOut_reqCof )
RENVOYER Vrai


Ce que j'ai surligné en gras au dessus est l'erreur, et voici le message que j'ai reçu :

Erreur à la ligne 20 du traitement Procédure locale RequêteCoef.
Vous avez appelé la fonction HLitPremier.
Fichier <InOut_reqCof> inconnu dans l'analyse <C:\Mes Projets\E_COMMERCE_SAGE\STAGE_E_COMMERCE\STAGE_E_COMMERCE.wdd>, ou requête ou vue non initialisée.

Informations techniques

Projet : STAGE_E_COMMERCE

Dump de l'erreur du module <WD110HF.DLL> <11.00Hah>.

- Appel WL :
Traitement de <FEN_ARTICLE.PROCEDURE.RequêteCoef>, ligne <20>, thread <0>
Fonction <HLitPremier>, n° de syntaxe <3>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 70018

- Code erreur WD55 : 18

- Pas de code d'erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
Fichier <InOut_reqCof> inconnu dans l'analyse <C:\Mes Projets\E_COMMERCE_SAGE\STAGE_E_COMMERCE\STAGE_E_COMMERCE.wdd>, ou requête ou vue non initialisée.

- Infos de debug :
iehf=1001
Fonction (7,10)

- Infos attachées :
EIT_PATHWDD : <C:\Mes Projets\E_COMMERCE_SAGE\STAGE_E_COMMERCE\STAGE_E_COMMERCE.wdd>
EIT_LOGICALTABLENAME : <InOut_reqCof>
EIT_DATEHEURE : 13/01/2009 17:33:12
EIT_PILEWL :
Procédure locale RequêteCoef (FEN_ARTICLE.PROCEDURE.RequêteCoef), ligne 20
Sélection d'une ligne de COMBO_LISTE_SOMMEIL (FEN_ARTICLE.COMBO_LISTE_SOMMEIL), ligne 64

- Identifiant dans le .err : 70116


Assistance

- Vérifiez que le fichier est bien décrit dans l'analyse en cours
- S'il s'agit d'un fichier décrit en dynamique, vérifiez que ce
fichier a bien été déclaré avant par HDéclare, HDéclareExterne
ou HDécritFichier
- S'il s'agit d'une requête du projet ou d'une requête SQL, vérifiez
que cette requête a été déclarée avant par HExécuteRequête pour une
requête du projet ou par HExécuteRequêteSQL pour une requête SQL.




Je ne comprend pas pourquoi il tient a tout prix à ce que InOut_reqCof soit dans l'analyse ! J'ai pourtant a peu près là même syntaxe pour un autre cas et il ne me met rien de tel ! Je commence a avoir le cerveau en miettes...
Pourriez vous m'aider s'il vous plaît ? Merci bien, Onishi !
A voir également:

3 réponses

zedd62 Messages postés 88 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 5 mars 2009 2
14 janv. 2009 à 10:03
Bonjour,
Je ne sais pas si il y a beaucoup d'utilisateurs de windev par ici mais tu peux toujours allé demander de l'aide sur ce forum spécialisé ;)

https://l5g.vraiforum.com/index.php

A+
Zedd
0
C'est du au fait que tu ne specifie pas de connexion dans ton hexecuterequetesql.

Si tu regarde l'aide, tu verra que tu ne peut utiliser la constante hRequeteSansCorrection sans spécifier de connexion.
0
NADIR-KRAIMIA Messages postés 3 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 25 avril 2009
24 avril 2009 à 00:36
bonjour,je m"app NADIR,
enchanté, mon msn est le kokito05az@hotmail.com
je suis ravie de partager mon probleme avec toi,
j'ai le même cas que toi, j'ai un logiciel de transit que je travail avec, je vien de le copier sur mon flash disc,et ensuite je l'ai copier sur mon pc portable, le probleme c qu'il marche pas sur mon pc portable,et quand je lance le fichier .exe il me dit :
"cette application a besoin de la version du framework windev pour fonctionner,il n'est pas installé sur votre machine,voulez-vous le télécharger depuis le site pcsoft.fr"
donc je le telecharge,il a une valeur de 120048k,mais quand il fini le telechargement il sorte plain de fichier avec extension WD120action.DLL,WD120cod.DLL,..........ECT ,mais ensuite il m'afiche un message d'erreur comme toi ,mais le mien avec sa:
Erreur à la ligne 113 du traitement Initialisation de GTI2007.
Vous avez appelé la fonction HLitPremier.
Impossible d'ouvrir le fichier <C:\Documents and Settings\Administrateur\Bureau\VALEUR.FIC>.
Le fichier n'a été trouvé ni sur disque, ni dans les bibliothèques (.WDL) ou les composants (.WDK) chargés.

Détail de l'erreur système :

Le fichier spécifié est introuvable.
(2)

Informations techniques

Projet : GTI2007

Dump de l'erreur du module <WD120HF.DLL> <12.00Jg>.

- Appel WL :
Traitement de <>, ligne <113>, thread <0>
Fonction <HLitPremier>, n° de syntaxe <3>

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 70003

- Code erreur WD55 : 3

- Code d'erreur système : 2

- Message d'erreur système :
Le fichier spécifié est introuvable.


- Que s'est-il passé ?
Impossible d'ouvrir le fichier <C:\Documents and Settings\Administrateur\Bureau\VALEUR.FIC>.
Le fichier n'a été trouvé ni sur disque, ni dans les bibliothèques (.WDL) ou les composants (.WDK) chargés.

- Infos de debug :
##(IXStream)-Handle=<FFFFFFFF>##
Fonction (7,10)

- Infos attachées :
EIT_SRCFILE : <C:\Documents and Settings\Administrateur\Bureau\VALEUR.FIC>
EIT_LOGICALTABLENAME : <VALEUR>
EIT_PILEWL :
Initialisation de GTI2007 (), ligne 113
EIT_COMPOSANT :

EIT_DATEHEURE : 23/04/2009 23:48:37

- Pas d'identifiant dans le .err
donc ,je suis confus,je sais pas se qui vien de passer pour qu'il ne marche pas,d'autres perssonne il me dise d'installer WinDev,mais je sais pas comment marche se logiciel, j'éspère bien avoir partager mes informations avec toi, de plus je veux que tu sois sur que si je trouve une solution pour toi je t-l'envoy directement, n'oublie pas de m'envoyer ton adress msn par e-mail a ma messagerie msn, stp je compte su toi
merci
0