PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → pb de rubrique dans requete
pb de rubrique dans requete
Iniciado por thomas_ramage, jul., 20 2005 12:43 PM - 1 resposta
Publicado em julho, 20 2005 - 12:43 PM
bonjour, jai cherché dans le forum mais je trouve pas de solution, voici mon problème:

dans un fichier hyperfile j'ai une rubrique de type numérique qui est un tableau de 20. J'accède bien au données avec H... : MonFicHF.Rubtablo[i] fonctionne.
par contre
SI HExécuteRequêteSQL(MaReq,"select * from MonFicHF) ALORS
info(MaReq.Rubtablo[1]) //indique 0
info(MaReq.Rubtablo[2]) // plante
FIN

j'ai essayé en déclarant une var intermédiaire:
vartab est tableau de 20 numériques=MaReq.Rubtablo ->plante car pas le meme type
varnum est numérique=MaReq.Rubtablo -> plante pas mais je ne peux pas récupérer toute les valeur.

le problème est que je parcours le fichier HF et qu'a certain moment du parcourt je dois d'autre valeur sur ce meme fichier d'ou l'obligation de la requete.

Une solution? Merci
Publicado em julho, 20 2005 - 1:52 PM
Fait une requête via l'editeur et tu vas comprendre !
J'utilise le type tableau comme rubrique HF et je fais comme cela :
Je fais ma requête via l'editeur en sélectionnant tout le fichier comme cela pour les rubriques tableau il prend tout (pour toi les 20 valeurs) ensuite si besoin est je supprime les rubriques non nécessaires. (Remarque : si tu prends les rubrique une à une qd tu vas passer sur la rubrique "tableau" il va te proposer le numéro à choisir : il te faudra faire les 20 à la main : fastidieux).
Tu verras que les rubriques sont sous la forme Rubtablo_2, Rubtablo_3, Rubtablo_20
Je renomme la première rubrique du tableau car l'editeur ne met pas l'indice 1 (c'est ainsi !!!!) : exemple dans ton cas tu auras Rubtablo a renommer en Rubtablo_1.
Ensuite dans mon code je passe par HExécuteRequête("Mareq",.....) (voir syntaxe) et je parcours ma requête par hlit ..., j'accède alors à mes rubrique tableau sans pb et je fais même du calcul récursif grace aux indirections genre {"MaReq.Rubtablo_1"+indice} pour accéder à l'indice de ta rubrique voulue !!!

Au fait peut-être plus simple et plus esthétique pour répondre aussi à ta question -> les alias feraient peut-être l'affaire !!!!
Tu lis ton fichier normalement (premier parcours) , tu crées un alias sur le même fichier ce qui te permet de parcourir ton fichier indépendemment du premier parcours.
Voir la doc sur les alias

Bon courage !

Michel.