OVH Cloud OVH Cloud

[WD8] RAD requete --> table avec détail

6 réponses
Avatar
Manuel Pavy
Bonjour,

Y a vraiment un truc que je dois pas comprendre, car pour une requete
donnée, j arrive à lui associer une fiche (avec navigation) ou bien une
table. Mais dès qu il s agit d'une table avec détail (en gros c'est
juste que des champs sont perceptibles dans la table et d autre dans la
fiche), ca ne marche pas !
Au développement, seule la table apparait, et à l'exécution (test), j ai
l erreur suivante :

" Le champ TABLE n'a pas pu s initialiser, car il a rencontré l'erreur
HyperFile suivante : === Fichier <req_ut_centre> inconnu dans l'analyse
<chemin_analyse\analyse.wdd> ===== "

Donc je ne comprends pas ce qu'hyperfile viens faire la (ma base est
mysql et les requetes sont ecrites en sql). Les fichiers des tables sont
dans l analyse (sans importer). Faut il créer des fichiers de requetes
dans l analyse ? pourquoi ca marche sur des fiches et des tables, mais
pas des tables avec détails ?

Merci d'avance pour vos réponses et eclaircissement.

Manu

6 réponses

Avatar
mat
Sous WD 7.5 c'est le problème classique quand il n'y a pas
HExecuteRequête... dans l'initialisation de la table ou fenêtre,
obligatoire pour alimenter les tables, combos et listes. Sous certaines
conditions (aucune idée lesquelles) Windev accèpte de tourner sans cela,
mais cela peut changer d'un moment à l'autre...
Avatar
Dev
Bonjour,
il me semble qu'un des paramètre de plantage ou de pas plantage est la
gestion du contexte hyperfile indépendant ou pas. Un autre paramètre est le
fait d'avoir construit la table dans l'éditeur d'après la requête puis de
l'avoir transformée en table mémoire. Mais je n'ai jamais compris les
corrélations et implications de tout ca !!

--
Cordialement
Christophe Charron

Service Développement
PROLOGIQ
7 bis Rue des Aulnes
69410 Champagne au Mont d'Or

Tel : 0 437 499 107
Fax : 0 437 499 105
mailto:

"mat" a écrit dans le message de
news:c50k22$2m9idg$
Sous WD 7.5 c'est le problème classique quand il n'y a pas
HExecuteRequête... dans l'initialisation de la table ou fenêtre,
obligatoire pour alimenter les tables, combos et listes. Sous certaines
conditions (aucune idée lesquelles) Windev accèpte de tourner sans cela,
mais cela peut changer d'un moment à l'autre...


Avatar
Manuel Pavy
Oui, ok, merci, j ai trouvé.
Mais en fait y a toujours un pb : la requete ne s execute pas ou bien les
champs du tableau ou de la fiche (que je crée à la mano en liant les
rubriques) ne s affichent pas !
En gros, j ai une fenetre (simple table) qui en appele une autre (table avec
détail) cette derniere utilise une valeur passer en argument pour exécuter
la requete.
Donc la de l init de la fenetre, j ai :
HExécuteRequête(Ma_Requete,hRequêteDéfaut, Mon_Argument)

et dans la table, la meme chose
HExécuteRequête(Ma_Requete, hRequêteDéfaut, Mon_Argument)

et tout est vide. Alors que si je teste ma requete avec l'argument (un
info(Mon_Argument) me confirme qu il passe correctement), la requete
fonctionne.
Je me demande aussi si je ne fais pas trop compliqué, ce sont des opérations
censées etre courantes : passage de parametre pour l appel de requete et c
est tout un bordel.

Merci pour votre aide,
Manu

mat a écrit :

Sous WD 7.5 c'est le problème classique quand il n'y a pas
HExecuteRequête... dans l'initialisation de la table ou fenêtre,
obligatoire pour alimenter les tables, combos et listes. Sous certaines
conditions (aucune idée lesquelles) Windev accèpte de tourner sans cela,
mais cela peut changer d'un moment à l'autre...


Avatar
Manuel Pavy
Re-bonjour,

Bien, maintenant, je ne sais pas grace à quel miracle, j accede à mes données.
Cependant, lorsque je sélectionne une autre ligne, la derniere s efface et en
revenant dessus, elle n associe plus non plus les champs de détail.
Il me semblait que c etait un pb de rafraichissement, mais je ne sais pas ou
indiquait ca. Dans la méthode associée à sélection d une ligne, il y a déjà
FichierVersEcran().
Maintenant, je sais au moins que je peux faire comme ca. Mais ca va me prendre
du temps, etant données j ai plein de fenetres (identiques) pour afficher mes
données. Car l autre fois, j avais demandé, mais soit je me suis fait mal
comprendre soit personne ne connait la réponse, mais si je veux afficher tout le
temps les memes données en "passant par des chemins différents" (requetes), il
faut absolument que je redéfinisse la fenetre associée à la requete ?
ex :
voir les ordinateurs d'une salle,
voir les ordinateur d'un batiment (de toutes les salles du batiment)
voir les ordinateur branchés au net, etc, etc, ...
Au final, je veux toujours voir les ordinateurs (et donc une fenetre identique
suffirait). Tandis que la, je définis la fenetre de chacune des requetes en
ré-associant le champs à chaque fois.


Merci de bien vouloir répondre à toute ces informations de débutant.

Manu

Manuel Pavy a écrit :

Oui, ok, merci, j ai trouvé.
Mais en fait y a toujours un pb : la requete ne s execute pas ou bien les
champs du tableau ou de la fiche (que je crée à la mano en liant les
rubriques) ne s affichent pas !
En gros, j ai une fenetre (simple table) qui en appele une autre (table avec
détail) cette derniere utilise une valeur passer en argument pour exécuter
la requete.
Donc la de l init de la fenetre, j ai :
HExécuteRequête(Ma_Requete,hRequêteDéfaut, Mon_Argument)

et dans la table, la meme chose
HExécuteRequête(Ma_Requete, hRequêteDéfaut, Mon_Argument)

et tout est vide. Alors que si je teste ma requete avec l'argument (un
info(Mon_Argument) me confirme qu il passe correctement), la requete
fonctionne.
Je me demande aussi si je ne fais pas trop compliqué, ce sont des opérations
censées etre courantes : passage de parametre pour l appel de requete et c
est tout un bordel.

Merci pour votre aide,
Manu

mat a écrit :

> Sous WD 7.5 c'est le problème classique quand il n'y a pas
> HExecuteRequête... dans l'initialisation de la table ou fenêtre,
> obligatoire pour alimenter les tables, combos et listes. Sous certaines
> conditions (aucune idée lesquelles) Windev accèpte de tourner sans cela,
> mais cela peut changer d'un moment à l'autre...


Avatar
mat
Manuel Pavy wrote:
Oui, ok, merci, j ai trouvé.
Mais en fait y a toujours un pb : la requete ne s execute pas ou bien les
champs du tableau ou de la fiche (que je crée à la mano en liant les
rubriques) ne s affichent pas !
En gros, j ai une fenetre (simple table) qui en appele une autre (table avec
détail) cette derniere utilise une valeur passer en argument pour exécuter
la requete.
Donc la de l init de la fenetre, j ai :
HExécuteRequête(Ma_Requete,hRequêteDéfaut, Mon_Argument)

et dans la table, la meme chose
HExécuteRequête(Ma_Requete, hRequêteDéfaut, Mon_Argument)

et tout est vide. Alors que si je teste ma requete avec l'argument (un
info(Mon_Argument) me confirme qu il passe correctement), la requete
fonctionne.
Je me demande aussi si je ne fais pas trop compliqué, ce sont des opérations
censées etre courantes : passage de parametre pour l appel de requete et c
est tout un bordel.



Il me semble qu'une lecture de la documentation des fonctions de base
concernant les fiches/tables/requêtes et des exemples fournis pour ces
sujets seraient utiles.
Avatar
ericdescatoire
Manuel Pavy wrote in message news:...
Re-bonjour,

Bien, maintenant, je ne sais pas grace à quel miracle, j accede à mes données.
Cependant, lorsque je sélectionne une autre ligne, la derniere s efface et en
revenant dessus, elle n associe plus non plus les champs de détail.
Il me semblait que c etait un pb de rafraichissement, mais je ne sais pas ou
indiquait ca. Dans la méthode associée à sélection d une ligne, il y a déjà
FichierVersEcran().
Maintenant, je sais au moins que je peux faire comme ca. Mais ca va me prendre
du temps, etant données j ai plein de fenetres (identiques) pour afficher mes
données. Car l autre fois, j avais demandé, mais soit je me suis fait mal
comprendre soit personne ne connait la réponse, mais si je veux afficher tout le
temps les memes données en "passant par des chemins différents" (requetes), il
faut absolument que je redéfinisse la fenetre associée à la requete ?
ex :
voir les ordinateurs d'une salle,
voir les ordinateur d'un batiment (de toutes les salles du batiment)
voir les ordinateur branchés au net, etc, etc, ...
Au final, je veux toujours voir les ordinateurs (et donc une fenetre identique
suffirait). Tandis que la, je définis la fenetre de chacune des requetes en
ré-associant le champs à chaque fois.


Merci de bien vouloir répondre à toute ces informations de débutant.

Manu



Bonjour Manu,
Effectivement, si le format d'affichage des données est identique
quelque soit la requête, tu peux utiliser la propriété
"FichierParcouru":

HExécuteRequête(reqOrdisduneSalle) // ou "reqOrdisdunBatîment" ou ...
tableAffichageOrdis..FichierParcouru = "reqOrdisduneSalle"

ou bien peut être est-il possible de définir une requête paramétrée
qui permettrait de sélectionner soit les ordis d'une salle, d'un
batîment ou autres (cela dépend de la structure de tes données):

HExécuteRequête(reqOrdisduneSalle) // ou "reqOrdisdunBatîment" ou ...
TableAffiche(tableAffichageOrdis)

Tout ceci est à tester, mais ça devrait te donner des pistes.

Bon courage,
Eric