Bonjour,
Tout d'abord, puisque c'est mon premier message, un grand merci à toute la communauté pour la multitude de tutoriels et de réponses fournies, qui permettent d'avancer sur des projets de manière assez approfondie en autonomie (de mon humble point de vue d'utilisateur peu expérimenté). J'espère également avoir suivi toutes les règles concernant la publication de messages en bonne et due forme.
Seulement comme dans tout développement, il arrive toujours le moment où l'on arrive pas à trouver d'élément de réponses par soi-même. Me concernant, il s'agit d'un problème d'affichage sur une zone de liste.
Ma base :
Je travaille sur des savoir liés à des espèces. Chaque savoir est caractérisé par différents attributs rassemblés au sein de la table "tab_savoir", dont le nom scientifique de l'espèce. Ces derniers sont issus du référentiel taxonomique français TAXREF (https://taxref.mnhn.fr/taxref-web/accueil), et stockés dans une table "tab_nom_scientifique" qui contient l'ensemble des noms scientifiques des espèces présentes sur mon territoire d’étude. Comme ne je sais pas d’avance sur quelles espèces je vais travailler, j’ai besoin d’un référentiel exhaustif dans lequel venir piocher au grès de mes recherches bibliographiques. En conséquence, ma table "tab_nom_scientifique" est volumineuse avec environ 57 000 enregistrements, et ma base l'est donc aussi (4,3 Mo pour mon fichier exemple).
Voici le fichier exemple en question : https://www.cjoint.com/c/NJhsWiDozwK
Objectif :
Lorsque je renseigne les différents champs du savoir étudié dans le formulaire "for_saisie_savoir", je sélectionne le nom scientifique de l'espèce associée au savoir via une zone de liste qui vient puiser dans le référentiel taxonomique de "tab_nom_scientifique". Pour faciliter la saisie, je souhaite trier la zone de liste par ordre alphabétique.
Problème :
Dans mon formulaire, lorsque ma zone de liste n'est pas triée, j'ai accès d'après mes tests via la saisie à l'ensemble des noms scientifiques présents dans "tab_nom_scientifique". Lorsque je tri cette zone de liste par ordre croissant, les noms scientifiques s'arrêtent à la lettre "M". Lorsque j'effectue le tri par ordre décroissant, ces derniers s'arrêtent à la lettre "H". Ainsi il m'est impossible de renseigner le nom scientifique de certaines espèce via cette zone de liste.
Recherches :
J'ai testé voir si le problème se reproduisait avec une table "tab_nom_scientifique" contenant moins d'entrées. Avec 16 000 enregistrement je n'ai aucun problème et tout s'affiche de A à Z dans ma zone de liste triée par ordre croissant.
Dans mes recherches sur le forum, je tombe sur des post relatifs au fait que Base peut avoir du mal à gérer certains jeux de données trop volumineux. Je suis notamment tombé sur des sujets relatifs à l'augmentation de la mémoire vive dédiée au cache graphique :
J'ai donc tenté de façon emprique de jouer sur les paramètres suivants, en gras (valeur augmentée à 96000000 octets comme indiqué ici : viewtopic.php?t=30518) :
Cependant, mon problème persiste et j'ai donc décidé de me tourner vers des personne plus compétentes que moi.
Est-ce un problème effectivement lié à la taille de ma table? Reproduisez vous le problème?
Merci d'avance.
[Résolu] Affichage incomplet du contenu d'une liste déroulante si nombreux enregistrements
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
af_loya
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 17 sept. 2024 17:59
[Résolu] Affichage incomplet du contenu d'une liste déroulante si nombreux enregistrements
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par af_loya le 05 nov. 2024 12:41, modifié 1 fois.
LibreOffice 24.2.6.2 sous Windows 10 Professionnel
-
rollmops
- PassiOOnné

- Messages : 744
- Inscription : 20 déc. 2017 14:45
Re: Affichage incomplet du contenu d'une liste déroulante avec de nombreux enregistrements
Bonjour,
AMHA, il y a dépassement de la capacité d'une zone de liste.
Il me semble déraisonnable de charger 50.000 enregistrements.
Il faudrait déjà faire un 1er filtre avec une liste des familles puis uniquement les noms restreints à chaque famille.
AMHA, il y a dépassement de la capacité d'une zone de liste.
Il me semble déraisonnable de charger 50.000 enregistrements.
Il faudrait déjà faire un 1er filtre avec une liste des familles puis uniquement les noms restreints à chaque famille.
OpenOffice 4.1.16 - Windows 11
+ LibO 25.8.5 (occasionnel pour test)
+ LibO 25.8.5 (occasionnel pour test)
-
arverne73
- Membre OOrganisé

- Messages : 85
- Inscription : 30 mars 2012 16:13
- Localisation : Savoie, France
Re: Affichage incomplet du contenu d'une liste déroulante avec de nombreux enregistrements
Bonjour,
Je me permets de répondre car c'est intéressant : je travaille sur la même table TaxRef qui, à l'origine, contient plus de 600 000 lignes. En ce qui nous concerne, on en a gardé 180 000 mais on a supprimé pas mal de colonnes. Grosse différence avec votre configuration : les tables sont enregistrées dans une base de données MySQL en local (et exploité par LibreOffice Base sous Linux Ubuntu).
J'utilise un formulaire qui marche très bien et rapidement avec son filtre :
Par contre, effectivement, sur ma propre base, j'ai créé un formulaire avec une liste déroulante dont la source est cette même table sur mon poste avec tri sur NomEsp. Et moi aussi, la liste déroulante est limitée. J'ai même regardé : c'est à la ligne 32767 qu'elle s'arrête. Pourtant si j'ouvre la requête qui est la source de la liste, on peut bien aller au bout. Curieux !
Je ne sais pas qu'elle est votre objectif exact, mais le formulaire avec filtre ci-dessus marche. Une fois filtré, on peut sélectionner la ligne et récupérer l'information.
Je me permets aussi une autre remarque : il faut absolument créer un index dans la table en question sur le champ NomEsp pour gagner en vitesse puisque l'on va faire une opération dessus.
Enfin, je viens de voir ce fil https://forum.openoffice.org/en/forum/v ... p?t=106405 qui indiquait cette limite.
Cordialement.
Je me permets de répondre car c'est intéressant : je travaille sur la même table TaxRef qui, à l'origine, contient plus de 600 000 lignes. En ce qui nous concerne, on en a gardé 180 000 mais on a supprimé pas mal de colonnes. Grosse différence avec votre configuration : les tables sont enregistrées dans une base de données MySQL en local (et exploité par LibreOffice Base sous Linux Ubuntu).
J'utilise un formulaire qui marche très bien et rapidement avec son filtre :
Par contre, effectivement, sur ma propre base, j'ai créé un formulaire avec une liste déroulante dont la source est cette même table sur mon poste avec tri sur NomEsp. Et moi aussi, la liste déroulante est limitée. J'ai même regardé : c'est à la ligne 32767 qu'elle s'arrête. Pourtant si j'ouvre la requête qui est la source de la liste, on peut bien aller au bout. Curieux !
Je ne sais pas qu'elle est votre objectif exact, mais le formulaire avec filtre ci-dessus marche. Une fois filtré, on peut sélectionner la ligne et récupérer l'information.
Je me permets aussi une autre remarque : il faut absolument créer un index dans la table en question sur le champ NomEsp pour gagner en vitesse puisque l'on va faire une opération dessus.
Enfin, je viens de voir ce fil https://forum.openoffice.org/en/forum/v ... p?t=106405 qui indiquait cette limite.
Cordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 25.2.3 sur Ubuntu 25.04 GNOME (version officielle). Base en frontale d'une base MySQL ; échec liaison directe => liaison JDBC.
-
af_loya
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 17 sept. 2024 17:59
Re: Affichage incomplet du contenu d'une liste déroulante avec de nombreux enregistrements
Bonjour,
Merci pour vos retours. Au regard de cette limite, nous allons tester vos propositions et mettre en place un filtre, a priori via la saisie du nom d'espèce plutôt que par la famille.
Merci également pour la précision sur l'index.
Je mettrai le sujet en résolu d'ici quelques jours.
Merci pour vos retours. Au regard de cette limite, nous allons tester vos propositions et mettre en place un filtre, a priori via la saisie du nom d'espèce plutôt que par la famille.
Merci également pour la précision sur l'index.
Je mettrai le sujet en résolu d'ici quelques jours.
LibreOffice 24.2.6.2 sous Windows 10 Professionnel
-
arverne73
- Membre OOrganisé

- Messages : 85
- Inscription : 30 mars 2012 16:13
- Localisation : Savoie, France
Re: Affichage incomplet du contenu d'une liste déroulante avec de nombreux enregistrements
Comme dans TaxRef, les noms associent Genre et Espèce, le filtre marche avec 'Gentiana' ou 'alpina' ou 'Gentiana alpina' par exemple…
Bonne suite.
Bonne suite.
LibreOffice 25.2.3 sur Ubuntu 25.04 GNOME (version officielle). Base en frontale d'une base MySQL ; échec liaison directe => liaison JDBC.
-
af_loya
- Fraîchement OOthentifié
- Messages : 3
- Inscription : 17 sept. 2024 17:59
Re: Affichage incomplet du contenu d'une liste déroulante avec de nombreux enregistrements
Pour clôturer le sujet :
- La limite d'affichage pour les listes déroulantes semble être de 32 767 lignes ;
- Une des manières de contourner ceci est de mettre un place filtre sur un attribut judicieusement choisi (dans le cas d'une espèce végétale, sa famille, son genre ou une partie de son nom d'espèce par exemple).
Merci pour vos réponses.
- La limite d'affichage pour les listes déroulantes semble être de 32 767 lignes ;
- Une des manières de contourner ceci est de mettre un place filtre sur un attribut judicieusement choisi (dans le cas d'une espèce végétale, sa famille, son genre ou une partie de son nom d'espèce par exemple).
Merci pour vos réponses.
LibreOffice 24.2.6.2 sous Windows 10 Professionnel