|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Bonjour,
J’aurai besoin de vos lumières concernant un problème que je n’arrive pas à résoudre 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. Je désiré renvoyé dans une listbox par exemple tous les IRIS du département « Nord » qui comporte 1347 enregistrements or je n’ai que 1066 enregistrements renvoyé dans ma zone de liste quand je clique sur mon bouton ajouter. Le problème est le suivant : la Listbox (appelée SELECTION) ne contient pas le nombre d'enregistrements escompté quand le nombre d’enregistrements demandé est conséquent or la requête utilisée testé sous SQL fonctionne correctement. Le problème vient assurement du code mais je n'arrive pas à determiner à quel niveau: Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() |
Bonjour,
Qu'est ce qui garantie que resultatReq contient bien 1347 enregistrements. La méthode AddItem n'est pas idéale, dans ce cas... En fait, un ListBox ou un ComboBox doit plutôt posséder une source via une chaîne SQL. Argy P.S. Il serait plus "mieux" de rendre générique ta procédure car là, c'est loin d'être souple et délicat à entretenir en cas d'évolution car tu as des données en dur dans le code ce qui est un mauvais départ.
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
En fait je suis en train de reprendre le code qu'une stagiaire m'a produite...
En tous cas merci pour ta réponse avisée. Je te fais un retour après correction du code. Je passe en en mode "strSQL" Si d'autres personnes ont aussi des avis sur la question n'hésitez pas . J'avoue que je bloque un peu, le code ci-dessous n'est pas le bon ? Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() |
Si, il semble correcte.
Causes possibles :
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Effectivement cela marche
Le problème est que si je passe de liste de valeur à table/requête le code doit être modifié dans les 3/4 Cette méthode addItem me fait vriller de la carafe si je prend juste 1 colonne a insérer dans ma zone de liste je n'ai pas de problème dès que j'insère les données dans la colonnes 2 ou 3 là ça part en vrille et je n'ai pas tout mes enregistrements. Je dois écrire quelque chose de faux à ce niveau mais quoi ? Code :
|
||
|
|
00
|
|
|
#6 | ||
![]() ![]() ![]() |
Ce bout de code n'est pas pourvu d'erreurs sauf éventuellement des "" mais cela peut rester facultatif selon le type de contenu...
Je ne pense pas que ce soit la méthode en elle-même qui suinte mais plutôt un en amont... Y en a t-il un ? En fait je soupçonne l'erreur 2176 de survenir au court du remplissage de ta liste... Essaye ainsi de lancer la procédure telle que ci-dessous : Code :
Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Malheureusement il ne me détecte aucune erreur du type '2176' mais c'est vrai que ça en a tout les symptômes.
J'ai même mis l'option sous VB "Arret sur toutes les erreurs" et pas plus de résultat. Et en gros si j'ai bien compris une ancienne discussion : http://www.developpez.net/forums/d14...erreur-2176-a/, je se suis bon pour changer mon code pour mettre une requête en source de données et ca va changer pas mal d'instructions je pense. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() |
Oui...
De toute façon le Additem, on s'en sert pour ajouter 2-3 trucs dans une liste comme par exemple Mme, Melle, Mr ce qui évite d'avoir une table dédiée à cela, quoique. Bref, affecter un SQL à la source est bien plus souple, plus rapide et tout ce qui va avec. Et puis entre (), pas de grosse modif pour toi... Tu te sers de la propriété Name de ton Recordset "resultatReq " et tu l'afectes à une variable qui te sers à créer dynamiquement une requête stockée si nécessaire ou bien d'affecter directement cette variable à ta Combobox en lui donnant ses propriétés de colonnes idoines. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
T'as raison. En route pour l'affectation sql ! Merci beaucoup
![]() Une question purement pratique : dans le cas ou je rencontre des difficultés sur l'affectation sql mieux vaut il continuer à poser les questions sur cette discussion ou faut il en créer une nouvelle. Encore merci |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() |
Tant que cela concerne ce thread, il est préférable de continuer dans celui-ci puisque la réponse est dérivée.
Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
|
|
00
|
|
|
#11 | ||||
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Quand j'affecte le string szSQL à mon Recordset "resultatReq" il me met l'erreur 2176 !!
J'ai pourtant bien défini 3 colonnes dans ma listbox Code :
J'essaye donc de ca : Code :
Ce que je voudrais avoir dans ma listbox : colonne 1 : champs CODE (szsql) colonne 2 : champs LIBEL (szsql) colonne 3 : Valeur de la variable TYPE_ECHELLE (ici IRIS) Je n'arrive pas à trouver le bon code pour effectuer cela si vous pourriez m'aider |
||||
|
|
00
|
|
|
#12 | ||||
![]() ![]() ![]() |
[Hors sujet]
[/Hors sujet] Pour ton code : Code :
Ton code être corrigé comme suit (d'après ton premier poste) : Code :
Quant aux colonnes, c'est à toi de les définir. Tu dois avoir des champs dans ta clause SQL (et non pas des concaténation séparé par des ";" et ces champs sont alors affectés à chaque colonne de la liste qui est définie avec les propriétés Nbre de colonnes, Largeurs Colonnes [et Colonne liée]. Argy
__________________
Ils comptent sur vous... Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment. Web Site ‡ @Mail Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007 Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010 MDB Viewer : Visionneuse Access v4.0 |
||||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2009 Messages : 25 ![]() |
Merci je vais potasser ce tutoriel et appliquer tes précieux conseils
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com