PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → WM 18 - hlitpremier()
WM 18 - hlitpremier()
Débuté par DENIS, 13 déc. 2012 13:06 - 5 réponses
Membre enregistré
64 messages
Posté le 13 décembre 2012 - 13:06
Bjr, utilisant WM18 avec hyperfile je bute sur une erreur toute simple !!
Après un hexecuterequete la fonction hlitpremier me renvoie une erreur d'initialisation de cette requete.
La tablette dispose bien des fichiers, les ZR comportent toutes mes données, tout est ok, sauf cette instruction : HLitPremier(REQ_Nom1)

Merci pour votre aide


// Calcul des proportions dans le cas d'une pesée
xMaPortion est un monétaire = INT_Nbre_Portion
MaQuantite est un monétaire = (SAI_Portion*xMaPortion)/100


// Création des variables table
Energie, Proteine, Glucide, lipide est un monétaire

// Recherche de l'aliment

HExécuteRequête(REQ_Nom1,hRequêteDéfaut,ZR_Req_Composant2.SAI_Sous_Liste)


// Recherche de quelques constituants

HLitPremier(REQ_Nom1) // PLANTAGE !!!!

TANTQUE HEnDehors(REQ_Nom1) =Faux

SI REQ_Nom1.Num = 1 ALORS
Energie=Val(REQ_Nom1.SELVALtexte)*MaQuantite
FIN

SI REQ_Nom1.Num=17 ALORS
Proteine=Val(REQ_Nom1.SELVALtexte)*MaQuantite
FIN

SI REQ_Nom1.Num=19 ALORS
Glucide=Val(REQ_Nom1.SELVALtexte)*MaQuantite
FIN

SI REQ_Nom1.Num=24 ALORS
lipide=Val(REQ_Nom1.SELVALtexte)*MaQuantite
FIN

HLitSuivant(REQ_Nom1)
FIN


// Alimentation des tables

ZoneRépétéeAjouteLigne(TABLE_Aliment,ZR_Req_Composant2.SAI_Sous_Liste,(MaQuantite*100),INT_Nbre_Portion,SAI_Portion,Energie,Proteine,Glucide,lipide)
//TableAjouteLigne(TABLE_Aliment1,ZR_Req_Composant2.SAI_Sous_Liste)

//POUR TOUT REQ_Nom1
// k est un entier=TABLE_Aliment1..Occurrence
// i est un entier = HNumEnr(REQ_Nom1)
//{"Nbre"+REQ_Nom1.Num,indChamp}[k] = REQ_Nom1.SELVALtexte
//FIN

HLibèreRequête(REQ_Nom1)
Posté le 13 décembre 2012 - 12:47
Il faut tester le retour de HExecuteRequete.
Si elle retourne Faux, affiches le message d'erreur pour savoir quel est le pb.
Membre enregistré
64 messages
Posté le 13 décembre 2012 - 14:09
En fait, il me repond que cette requete n'est pas initialisée !!
Membre enregistré
64 messages
Posté le 13 décembre 2012 - 14:14
Pour info, dans le simulateur tout est ok. Mon prog. utilise déjà des requètes sans soucis, certes celle-ci est un plus sophistiquée : 3 Tables avec une jointure !.
MESSAGE : ERRURE FATALE
ERREUR DANS LE TRAITEMENT....VOUS AVEZ APPELE LA FONCTION HLITPREMIER
LA REQUETE <REQ_NOM1> n'est pas initialisée
Posté le 13 décembre 2012 - 17:13
Il faut tester le retour de HExecuteRequete et pas de HLitPremier !
Membre enregistré
64 messages
Posté le 13 décembre 2012 - 23:34
Vous avez raison : le soucis est forcément sur l'exécution de la requête. En fait celle-ci utilise 3 tables, hors seulement deux sont présentes sur la tablette, pour cause de pb sur le chemin pour l'une d'elle dans l'analyse.
Donc après rectification sur la localisation, la requête s'exécute tout à fait normalement.
( WM 18 pré version - Acer Iconia sous Android et Hyperfile )