|
| Remplir une combo liste à l'aide d'une liaison |
| Iniciado por ROMULUS001, 22,jun. 2020 11:59 - 4 respuestas |
| |
| | | |
|
| |
Miembro registrado 352 mensajes |
|
| Publicado el 22,junio 2020 - 11:59 |
Bonjour.
J'ai une combo que je dois alimenter, celle ci contient un grand nombre d'enregistrements (> 1500). J'ai fait un test où j'ai établie la liaison du champ combo sur la table concernée, le chargement a été instantané.
Du coup, je voulais établir cette liaison, non pas par IHM, mais par programmation, mais la liste reste vite, voici mon code :
COMBO_Clients..FichierParcouru = "CLIENT" COMBO_Clients..RubriqueAffichée= "CLIENT.Intitule" COMBO_Clients..RubriqueParcourue= "CLIENT.ID" ListeAffiche(COMBO_Clients)
Comme je n'ai pas réussi à dire que ma combo doit faire une liaison fichier par code, je l'ai fait par dans l'IHM, la propriété TypeRemplissage de la combo est en lecture seule.
Merci |
| |
| |
| | | |
|
| | |
| |
| Publicado el 22,junio 2020 - 15:51 |
Bonjour, Est-ce que la COMBO est bien en fichier/requete ?
COMBO_1..LiaisonFichier = sComboFichierLiaison COMBO_1..FichierParcouru = sComboReqParcourue COMBO_1..RubriqueAffichée = sComboAffichee COMBO_1..RubriqueParcourue = sComboParcourue COMBO_1..RubriqueMémorisée = sComboMemo Pour moi ce code fonctionne. En étant en fichier/requete et sans le listeAffiche. Ceci me permet de changer le fichier parcouru de ma combo. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 22,junio 2020 - 18:05 |
Bonjour Hacyrak.
Après avoir remarqué que la propriété TypeRemplissage soit en lecture seule, je dis bien, au niveau IHM, que la combo se remplie via fichier / requête.
Par programmation, j'ai mis le code suivant, mais cette fois ci, en passant pas une variable requête SQL
COMBO_Clients..LiaisonFichier = "Req_Clients.ID" COMBO_Clients..FichierParcouru = "Req_Clients" COMBO_Clients..RubriqueAffichée= "Req_Clients.Intitule" COMBO_Clients..RubriqueMémorisée = "Req_Clients.ID"
Bizarrement, chaque ligne affiche un ######## Et de plus, impossible de récupérer les glien, peu importe si je fais COMBO_Clients..Valeur ou COMBO_Clients..ValeurMémorisée |
| |
| |
| | | |
|
| | |
| |
| Publicado el 23,junio 2020 - 10:44 |
Bonjour, Je vois que vous utilisez maintenant une requête à la place du fichier. Avez-vous exécuter la requête avant ? Vérifier aussi que les données de la requête soit correcte.
SI HExécuteRequête(Req_Clients) ALORS POUR TOUT Req_Clients Trace(Req_Clients.ID, Req_Clients.Intitule) FIN FIN COMBO_Clients..LiaisonFichier = "Clients.ID" COMBO_Clients..FichierParcouru = "Req_Clients" COMBO_Clients..RubriqueAffichée= "Req_Clients.Intitule" COMBO_Clients..RubriqueParcourue = "Req_Clients.Intitule" COMBO_Clients..RubriqueMémorisée = "Req_Clients.ID" |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 23,junio 2020 - 15:15 |
Bonjour, entre requête et fichier, windev ne fait pas la différence. J'ai pu résoudre mon problème, la solution était loin d'être évidente, dans les propriétés RubriqueAffichée et RubriqueMémorisée , il fallait juste mettre la rubrique, et non le fichier parcouru suivi de la rubrique, comme cela :
COMBO_Clients..FichierParcouru = "Req_Clients" COMBO_Clients..RubriqueAffichée= "Intitule" COMBO_Clients..RubriqueMémorisée = "ID" COMBO_Clients..RubriqueParcourue= "Intitule"
J'ai été aussi confronté à un autre problème, là aussi, c'était loin d'être évident : en affichage, je voulais mettre CODE <tabulation> INTITULE, au niveau de la requête, j'ai ajouté une nouvelle colonne, comme cela :
code+WL.Caract(9)+IntituleAS CodeIntitule
En exécutant la requête, la nouvelle colonne affiche correctement les données, mais quand je m'en sers dans la propriété RubriqueAffichée, je ne voyais que le code. En faisant mes tests à l'aide de l'assistant, j'ai remarque que dans l'IHM du champ combo, dans l'onglet Contenu, il fallait que l'option "Accès direct (sans limite)" soit sélectionnée, et non "Chargé en mémoire" |
| |
| |
| | | |
|
| | | | |
| | |
|