|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Bonjour,
J'ai un petit problème sur Access, peut-être pourriez-vous m'aider. Ma zone de liste est basée sur une requête, jusque là tout va bien. Seulement lorsque la requête renvoit beaucoup d'enregistrements, la zone de liste ne les affiche pas tous. Pour donner un ordre d'idée, la zone n'affiche que les 300 premiers enregistrements environ (le nombre est variable donc c'est encore + étonnant). Donc ma question : - Une zone de liste est-elle limitée? - Si oui, y-a-t-il une propriété / code qui permette de modifier cette limite? - Si oui, quelle est-elle / il? Merci de votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Il n'y a pas apparement de limite (j'ai fait par erreur des listes de 7000 enrs, un enfer !) mais en effet, passé un certain nombre d'enrs Access 'pédale' pour fournir les données et semble s'arréter dès que la liste est 'ouverte' par l'utilisateur.
Si ta liste est basée sur des données qui ne changent pas tu pourrais peut-être utiliser une table comme source plutôt qu'une requête. Sinon par code il faudrait 'morceler' ta source pour n'afficher, par exemple, que les enrs commençant par une lettre choisie. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
![]() ![]() |
Bonjour
Il me semble que l'on a déjà parlé de cela, mais je ne sais plus où. La limite viendrait du nombre de caractères, et donc non lié au nombre d'enregistrements. Personnellement j'ai toujours trouvé aberrant d'avoir une liste avec autant d'enregistrements, ergonomiquement c'est loin d'être le pied. Cependant, une astuce qui devrait t'aider à dépasser cette limite serait de remplacer ta zone de liste par un sous-formulaire en mode feuille de données. Visuellement tu peux avoir quelque chose de similaire, et tu mets la requête qui alimente ta liste pour alimenter le sous-formulaire. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Tout d'abord Merci à tous les 2 pour vos réponses.
Moi aussi je trouve aberrant de mettre autant d'enregistrements dans une liste mais en fait j'essaye de prévoir les futures remarques de certains collègues voulant ne selectionner les données qu'avec la souris. Je vais essayer vos 2 méthodes qui me semblent efficaces et je vous referez des retours concernant cela leurs rendements. Encore merci
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Je viens de remarquer que le problème ne se pose pas sur une base Access similaire enregistrée au format .mdb . Ma base est quand à elle au format .accdb. Je me demande si le problème pouvait venir de là? Qu'en pensez vous?
|
|
|
00
|
|
|
#6 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Aucune idée si le format de la BD peut influer sur cela.
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : novembre 2010 Messages : 101 ![]() |
Bonjour,
J'ai déjà eu des problèmes similaires avec des données en ACC2000 et mon frontal en ACC2003. Le problème a été résolu lorsque j'ai converti mes données en ACC2003. A voir ! c'est peut être une piste. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Problème : je n'arrive pas à convertir ma base 2007 dans une version antérieure car j'ai apparemment des fonctions qui ne peuvent être utilisé dans une base antérieure.
Il y a-t-il une solution à ce problème ? |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Voici un bout de mon code peut être cela vous aidera à solutionner mon probleme:
Private Sub AJOUTER_Click() Dim resultatReq As Recordset 'Résultat Requête Dim TYPE_ECHELLE As String 'champs qui renseigne le type de l'enregistrement (exp: REG, DEP ...) Set resultatReq = CurrentDb.OpenRecordset("SELECT DISTINCT IRIS as CODE,LIBELIRIS as LIBEL FROM IRIS WHERE LIBELDEP='" & DEPARTEMENT & "' OR DEP='" & DEPARTEMENT & "'") 'Ajout des résultats dans la liste resultatReq.MoveFirst While Not resultatReq.EOF SELECTION.AddItem resultatReq!CODE & ";" & resultatReq!LIBEL & ";" & TYPE_ECHELLE resultatReq.MoveNext Wend MsgBox SELECTION.ListCount Le msgbox me retourne la valeur 1066 alors que je devrais avoir 1341 enregistrements Mon code comporte-t-il un problème a votre avis ? |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Apparemment la zone de liste n'est pas limitée je viens de testé en plaçant la requête dans contenu et celle ci contient bien toutes mes données c'est donc bien un problème dans mon code.
Merci pour toutes les réponses que vous m'avez apporté.
|
|
|
00
|
|
|
#11 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Pourquoi ne pas faire tout le travail au niveau de la source de données ?
Tu pourrais créer une requête qui calcule tous les champs dont tu as besoin puis t'en servir comme source de ta liste. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Je vais travailler dans ton sens pour voir si cela convient merci pour tes conseils
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
En fait je ne peux pas me cantonner à une seule requête car l'utilisateur doit avoir le choix dans les données qu'il veut mettre dans la zone de liste :
Pour être précis je suis en train de reprendre le code VBA d'une base de données recensant plusieurs info INSEE concernant des communes iris région, dept etc. L'utilisateur du formulaire à le choix de choisir à quel niveau il veut ses données : cf (PJ) Par exemple je désire renvoyer dans ma listbox tous les IRIS (en cochant la case IRIS) du département « Nord ». Voici le code associé à ce formulaire: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com