PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → comment faire ??
comment faire ??
Débuté par Marie Laure, 19 avr. 2005 19:12 - 5 réponses
Posté le 19 avril 2005 - 19:12
Bonjour,

Voici notre probleme

on a un ecran contenant une table, a côté de la table on a plusieurs boutons
dont un intitulé recherche

le bouton recherche ouvre une fenetre avec une combo fichier contenant les adresses de societes

on veux pouvoir selectioner toutes les offres pour une adresse donnés

on a essaye avec hfiltre, hexecuterequetesql,

on a mis du code dans l'ini de la fenetre table, puis dans la fentre combo (pour hfiltre)
a priori ca filtre pas

par la requete on a pas plus de succes

un exemple de notre dernier code ci dessous :



//marequete est une source de données
//HExécuteRequêteSQL(marequete,"SELECT * FROM OFFRE WHERE Offre.IDAdresses = '"+fnt_rechadresses.IDAdresses+"'")

SI fnt_rechadresses.IDAdresses > 0 ALORS
HLitPremier(Offre,IDOffre)
HFiltre(Offre,IDAdresses,"IDAdresses='"+fnt_rechadresses.IDAdresses+"'")
TANTQUE PAS HEnDehors
HLitSuivant(Offre)
FIN
Ferme(fnt_rechadresses)
FIN


c'est le denier code essayé

bref on coince un peu.

la table fichier de la fenetre a des liaisons.

version 9.0028m
Posté le 20 avril 2005 - 10:38
Amon avis fait ton HFIltre avent d'utiliser la fonction HlitPremier !!!!!!


Filtre, et ensuite lit le filtre et non le contraire.....

Tiens moi au courant si cela change quelquechose dans ton exécution
Posté le 20 avril 2005 - 16:02
Bonjour,
Y du boulot!
il faut vérifier si dans la 2 ieme fenêtre si il n'y a pas la coche contexte
hyperfile indépendant.
le code peut être simplifié ainsi
SI fnt_rechadresses.IDAdresses > 0 ALORS
HLitPremier(Offre,IDOffre)
HFiltrecommencepar(Offre,IDAdresses,fnt_rechadresses.IDAdresses)
HLitpremier(Offre)
tableaffiche(fnt_lafenêtre1.table,courantpremier)
> Ferme(fnt_rechadresses)

bien sur je part de l'hypothèse ou il y a une clé

Patrick

"Marie Laure" <guest@newsgroup.fr> a écrit dans le message de news:
4265142d$1@news.pcsoft.fr...


Bonjour,

Voici notre probleme

on a un ecran contenant une table, a côté de la table on a plusieurs
boutons
dont un intitulé recherche

le bouton recherche ouvre une fenetre avec une combo fichier contenant les
adresses de societes

on veux pouvoir selectioner toutes les offres pour une adresse donnés

on a essaye avec hfiltre, hexecuterequetesql,

on a mis du code dans l'ini de la fenetre table, puis dans la fentre combo
(pour hfiltre)
a priori ca filtre pas

par la requete on a pas plus de succes

un exemple de notre dernier code ci dessous :



//marequete est une source de données
//HExécuteRequêteSQL(marequete,"SELECT * FROM OFFRE WHERE Offre.IDAdresses
= '"+fnt_rechadresses.IDAdresses+"'")

SI fnt_rechadresses.IDAdresses > 0 ALORS
HLitPremier(Offre,IDOffre)
HFiltre(Offre,IDAdresses,"IDAdresses='"+fnt_rechadresses.IDAdresses+"'")
TANTQUE PAS HEnDehors
HLitSuivant(Offre)
FIN
Ferme(fnt_rechadresses)
FIN


c'est le denier code essayé

bref on coince un peu.

la table fichier de la fenetre a des liaisons.

version 9.0028m
Posté le 21 avril 2005 - 09:47
Bonjour, et merci pour vos réponses

Entre temps on a contourné le problème en créant une combo fichier sur la fenêtre liste des offres.
la on applique le filtre et dans ce cas ça marche...

A propos du hfiltre suivit du hlitpremier puis du hlitsuivant, C'est bien la première séquence qu'on avait appliqué... mais bizzare ca marche pas. Par contre le hlitpremier puis hfiltre suivit d'une boucle hlitsuivant fonctionne.

Conclusion à ce stade. on a un probleme du filtre lorsqu'on intercale une fenetre de recherche. On va encore essayer quelques options afin de comprendre ou on fait faux.
Posté le 21 avril 2005 - 16:01
Cher Patrick,
Super ton code, ça marche du tonnerre de Brest.
Posté le 27 avril 2005 - 13:23
Tout d'abord commence par déplacer la ligne ou tu définis le filtre avant le HLitPremier(OFFRE,IDOFFRE)

Ensuite il faut que HLitPremier et HLitSuivant utilise la clé de parcours définit dans le HFiltre ( dans ton cas IDAdresses )

Enfinsi ça ne fonctionne pas tu peux rajouter l'option HRespecteFiltre dans HLitPremier :
HLITPremier(OFFRE,IDOFFRE,HRespectefiltre)