|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Accéder à l'enregistrement correspondant |
Débuté par Believe LODY, 20 mai 2016 02:21 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 9 messages |
|
Posté le 20 mai 2016 - 02:21 |
Bonsoir, (un peu long mais svp lisez jusqu'au bout)
J'ai une fenêtre contenant une ZR. Celle-ci me liste toutes les catégories que j'ai créé. Le but est de faire une recherche générique qui soit affiche les résultats via un bouton soit au fur et à mesure que l'on écrit dans un champ. J'ai deux situations: La 1ère: Je lie ma ZR à mon fichier Catégorie. Toutes les catégories sont bien listées et le plus important, une sélection d'une ligne m'envoie bien vers la fiche de la catégorie correspondante. Donc pas besoin de programmer le remplissage de la ZR. Cependant mon code de recherche ne marche pas, il s'ajoute aux enregistrements déjà présents. Le voici au traitement "Clic d'un BTN":
ZoneRépétéeSupprimeTout(ZR_Recherche_catégorie) HLitPremier(Catégorie, IDCategorie) TANTQUE PAS HEnDehors() SI Contient(Catégorie.Nom, SAI_Recherche, SansCasse) = Vrai ALORS ZoneRépétéeAjoute(ZR_Recherche_catégorie, Catégorie.Nom) FIN HLitSuivant(Catégorie,IDCategorie) FIN
ZoneRépétéeAffiche(ZR_Recherche_catégorie, taDébut) Et pourtant je supprime tout avant de faire mon traitement. En plus la sélection d'un des enregistrements me renvoie au tout dernier enregsitrement.
Le 2e cas: Je remplis ma ZR par programmation.
HLitPremier(Catégorie,IDCategorie) TANTQUE PAS HEnDehors() ZoneRépétéeAjouteLigne(ZR_Recherche_catégorie, Catégorie.Nom, Catégorie.IDCategorie) HLitSuivant(Catégorie,IDCategorie) FIN A l'affichage, les champs correspondent bien à la liste des catégories et le code du bouton écrit plus haut marche. Toutes les lignes de la ZR sont supprimées et les nouvelles selon la condition s'ajoutent et s'affichent. Malheureusement la sélection d'une ligne me renvoie vers le dernier enregistrement effectué et je n'arrive à accéder à la bonne fiche de la catégorie correspondant à la ligne. Le code au traitement "Sélection d'une ligne de la ZR" est:
OuvreFille(FEN_Fiche_categorie)
Ce que j'ai mis en commentaire est une tentative d'accéder à la bonne fiche via OuvreFille(), rien ne se passe. Quel peut être le soucis dans mes codes svp? Ou encore, quelle est la bonne méthode? Je rappelle, le but de ma démarche est de rechercher la(les) catégorie(s) correspondant à une chaîne de caractère et de pouvoir accéder à la (aux) fiche(s). Mes problèmes: 1/- J'accède aux fiches initiales de ma liste mais la recherche ne fonctionne pas. 2/- La recherche fonctionne mais l'accès aux fiches trouvées est faussé.
Merci à vous pour l'attention |
| |
| |
| | | |
|
| | |
| |
Posté le 20 mai 2016 - 14:41 |
Bonjour
la première méthode est clairement fausse. Si ta zr est liée à un fichier, elle est liée au fichier, tu ne peux/dois pas essayer d'ajouter des lignes par code.
Donc, c'est forcément la deuxième méthode
A la place de ton code...
//HLitPremier(Catégorie, IDCategorie) //i est un entier = 0 //n est un entier //tantque pas HEnDehors() // si Catégorie.IDCategorie = ATT_ID ALORS // n = ZoneRépétéeSelect(ZR_Recherche_catégorie, i) // FIN // HLitSuivant(Catégorie, IDCategorie) // i++ //FIN //info(ATT_ID) //OuvreFille(FEN_Fiche_categorie, n)
il faut faire quelque chose du genre : - récupérer l'indice de la ligne sélectionné (iIndex=ZR devrait te donner ca) - récupérer l'id d'enreg que tu as du stocker dans ta ZR et le passer à l'autre fenêtre. Quelque chose comme ouvrefille(fen_ficher_categorie,ATT_ID[iINdex])
C'est tout
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
Plus d'information sur http://fabriceharari.com |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
Posté le 20 mai 2016 - 22:29 |
Bonsoir Fabrice,
Merci pour ces réponses. Concernant la fonction ouvreFille, tout paramètre que je marque dans la fonction me donne une erreur indiquant que je passe un paramètre à la fonction alors qu'elle n'en prend zéro. Oú puis-je modifier ouvreFille pour qu'il considère ce paramètre?Message modifié, 20 mai 2016 - 22:29 |
| |
| |
| | | |
|
| | |
| |
Posté le 21 mai 2016 - 23:31 |
Bonjour
vu les questions, je te conseille de lire en détail le cours d'auto formation.
Ensuite, si tu passes un paramètre dans ouvrefille, il faut que la fenetre que tu ouvres accepte un paramètre
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
Plus d'information sur http://fabriceharari.com |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
Posté le 22 mai 2016 - 18:08 |
Bonsoir,
Le problème se trouvait effectivement du côté de la fenêtre à ouvrir. L'aide à pu me fournir un bon exemple pour m'en sortir. Je posterai la solution pour ceux qui sont dans la même situation. Merci encore |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|