Bonsoir à tous,
Voilà, je dois insérer dans une comboBox, un grand nombre d'éléments (une liste des villes) ors apparemment arrivé à un momment donné il plante.
Savez vous faire pour contourner ce problème ?
Par avance merci.
Marco.
Bonsoir à tous,
Voilà, je dois insérer dans une comboBox, un grand nombre d'éléments (une liste des villes) ors apparemment arrivé à un momment donné il plante.
Savez vous faire pour contourner ce problème ?
Par avance merci.
Marco.
Bonsoir,
Pour contourner ce problème, il faut créer une table qui sera utilisée comme Rowsource du combobox.
Cdlt,
Bonsoir,
Peut-être une piste ?
On peut remplir une liste à l'aire d'une fonction dont voici le prototype:
Function nom-de-fonction(chp As Control, id As Variant, lgn As Variant, col As Variant, code As Variant) As Variant
Voir aide d'access 'Propriétés RowSourceType (OrigineSource), RowSource (Contenu)'
Dans remarque cliquer sur arguments de code d'une fonction spécifique,
pour plus de détails et exemple.
Je viens d'essayer, ça marche pas mal, surtout pour des fonction d'énumération.
Bon courage.
![]()
Envoyé par LedZeppII
Je ne vois pas ce que ça va changer quant à la limitation du nombre d'élements![]()
La réponse d'actionAccess semble adéquate
Comme Cotmar parle <<d'insérer des valeurs dans une comboBox>> j'ai pensé qu'il utilisait une liste de valeurs,
et que la limite était celle de la propriété RowSource. Pas celle de la liste.
Mais je suis peut-être complètement à côté.
A+
SAlut à tous,
En fait ce qui s'est produit, c'est que j'ai récupéré des valeurs dans un recordsource pour les ajouter (additem) dans une comboBox.
Le problème c'est que ça fonctionnait très bien sur un jeux d'essai limité, mais que ça a planté avec des données réelles.
A un momment il a envoyé un message d'erreur parlant du dimensionnement de la propriété (je pense que c'est celle de la combo Box puisque la dernière valeur qui y apparaissait était tronquée. Ce qui est curieux, c'est que la veleur qui l'a fait planter se trouve plusieurs lignes plus loin et apparemment sans raison logique.
Ca m'intéresserait de comprendre ce qui s'est passé, mais malheureusement je manque de temps car je dois faire une presentation dan la boite où je suis presta et ma chef a menacé d'arrêter la mission si jamais ça ne marchait pas.![]()
Donc je me vois contraint de chercher une solution plus sûre. Je ne renonce pas à comprendre bien entendu. Si pour l'une ou l'autre question, vous aviez une petite idée, j'en serais extrêment intéressé.
Par avance merci.
Marco.
Bonjour à tous,
Pour contourner mon problème, j'essaye sur vos conseils de construire une requête dans l'éditeur d'Access qui ensuite sera paramétrée et intégrée dans mon code VBA.
Mais apparemment ça ne marche pas. Est ce que vous pourriez m'aider ?
Par avance merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT DISTINCT dbo_OSMOSE_SITE_GEOGRAPHIQUE.COMMUNE FROM [Select dbo_OSMOSE_SITE_GEOGRAPHIQUE.COMMUNE,2 As Position From dbo_OSMOSE_SITE_GEOGRAPHIQUE INNER JOIN dbo_OSMOSE_SITE_GEOGRAPHIQUE ON dbo_OSMOSE_POTENTIEL.NUM_SITE_GEO = dbo_OSMOSE_SITE_GEOGRAPHIQUE.NUM_SITE_GEO WHERE (((dbo_OSMOSE_POTENTIEL.STATUT_POTENTIEL)="VIVANT"))] Union [Select TOP 1 "",0 From dbo_OSMOSE_POTENTIEL Union Select TOP 2 "-Tous-",1 From dbo_OSMOSE_POTENTIEL]. AS [%$##@_Alias] ORDER BY Position;
Marco.
J'essaye de travailler sur un exemple plus simple :
Mais qui ne marche toujours pas. Est ce que vous pourriez m'aider s'il vous plait ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 select ville.ville from [Select Ville.Ville,2 As Position From Ville Union Select TOP 1 "",0 From Ville Union Select TOP 2 "-Tous-",1 From Ville]. AS [%$##@_Alias] ORDER BY Position where ville.region = "MED";
bonjour,
j'ai comme l'impression que ton code SQL n'est pas correct.
Tu veux 2 colonnes, je pense 1 pour la sélection et une pour l'information or dans la partie avant l'union il n'y a qu'une colonne et dans la seconde 2 (j'espère que tu comprends)
dans un 1er temps vérifie si la partie 1 de ton code fonctionne avec le QBE et te donne bien 2 champs ensuite tu peux écrires ton code avec Union...
bon courrage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DISTINCT dbo_OSMOSE_SITE_GEOGRAPHIQUE.COMMUNE FROM [Select dbo_OSMOSE_SITE_GEOGRAPHIQUE.COMMUNE,2 As Position From dbo_OSMOSE_SITE_GEOGRAPHIQUE INNER JOIN dbo_OSMOSE_SITE_GEOGRAPHIQUE ON dbo_OSMOSE_POTENTIEL.NUM_SITE_GEO = dbo_OSMOSE_SITE_GEOGRAPHIQUE.NUM_SITE_GEO WHERE (((dbo_OSMOSE_POTENTIEL.STATUT_POTENTIEL)="VIVANT"))]
Bonjour Alexandre,
En fait non je souhaite vraiement faire ça sur une seule colonne, mais en faisant ma requête (qui va comporter des jointures) et en rajoutant au résultat de la requête une ligne vide et un ligne avec le chaîne de caractères "-Tous-". C'est pour mettre dans une comboBox (si possible triée).
Un autre point c'est c'est une requête que je construit dynamiquement à l'exécution (je récupère le nom de la région pour n'afficher que les villes puis que les sites de la région de l'utilisateur).
Voilà j'espère que c'est plus cair.
Merci en tous els cas et à plus tard.
Marco.
Ce que j'entend par 1 seule colonne c'est à dire que dans ton combox tu vas cetainement afficher le nom de la ville mais pour la recherche tu vas te baser sur le code de la ville ou le n° ou autre?
Si c'est le cas le résultat de ta requête doit avoir 2 champs, 1 pour la colonne liée (que tu vas cacher) et 1 pour l'affichage pour l'utilisateur.
si ce n'est pas le cas tu dois avoir 1 seule colonne comme résultat de ta requête mais demême pour l'union (sinon çà bug) or ton code
comporte 2 champs à la sélection "" et 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select TOP 1 "",0 From Ville Union
J'ai bien compris que tu voulais rajouter des lignes à ta requête mais avant de faire cela il faut vérifer que ta requête dynamique fonctionne déjà sans ces lignes et te permet de charger ta combox
Puis dans un 2ème temps on verra pour mettre les lignes vides
A+
Bonjour,
dans ta première sous requête il y a
... From dbo_OSMOSE_SITE_GEOGRAPHIQUE INNER JOIN dbo_OSMOSE_SITE_GEOGRAPHIQUE ON ...
alors que tu voulais sans doute écrire
... From dbo_OSMOSE_SITE_GEOGRAPHIQUE INNER JOIN dbo_OSMOSE_POTENTIEL ON ...
Pour ta requête simplifiée essaie comme çaBon courage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT TMP1.Ville FROM [Select TOP 1 "" As Ville ,0 As Position From Ville UNION Select TOP 1 "-Tous-" As Ville, 1 As Position From Ville UNION Select Ville.Ville, 2 As Position From Ville where ville.region = "MED" ORDER BY Position]. AS TMP1 ;
Bonjour à tous,
Merci de votre aide à tous. A présent ça marche.
Bonne fin de journée à tous. Je croise les doigts (y compris ceux des pieds) car ma présentation à ma chef est deman matin et de la manière dont celà va se passer dépendra le fait que je reste ou pas ici.
A bientôt.
Marco.
Partager