Bonjour,
Après avoir parcouru la FAQ et le forum, je constate que j’ai des morceaux de la réponse à ma question, mais je n’arrive pas à « clipser » les morceaux du puzzle :
Je voudrais (enfin, je dois !) utiliser une zone de liste pour faire une sélection multiple (simple ou étendue).
Pour cela, j’ai bien noté :
- qu’il me faudrait vérifier les valeurs sélectionnées (Selected) à l’aide d’un For… to…
- que cette méthode me permettrait de générer une requête SQL en VBA (en ayant une clause WHERE du style MonChamp in (1 ;3 ;12) où 1, 3, 12 sont les valeurs des lignes choisies dans le Zone de liste)
D’ailleurs je l’ai fait sur une petite base test ; ça fonctionne très bien.
Mais le résultat ne peut être exploité qu’en tant que source de données d’un formulaire ou d’un état (RowSource).
Or, (je suis pénible et) je voudrais utiliser cette requête (ou seulement le « paramètre multiple ») en tant que critère dans une requête existante.
Pourquoi ?
Parce que celle-ci se trouve imbriquée au beau milieu d’une cascade de requêtes successives que l’on ne peut pas toucher : je dois passer mon critère sur la requête B et mon état est basé sur la requête F.
Et je ne peux que vous demander de me croire sur parole lorsque je vous assure que je ne peux pas faire autrement...
Gâteau sous la cerise, c’est bien une base de données multi-utilisateurs ; je ne peux donc pas me contenter de générer (et écraser au fur et à mesure) une table « temporaire » sur laquelle je ferai un lien (un simple INNER JOIN).
Hélas, j’ai bien peur qu’une requête Access me demande désespérément un critère « en dur » et je n’en ai qu’un virtuel à lui proposer…
Je me suis bien lancé dans une requête paramétrée dont le paramètre serait mon instruction SQL générée en VBA mais je n’y arrive pas (1 paramètre = 1 unique valeur, je me trompe ?).
Je ne demande pas de code « tout cuit » mais des pistes de réflexion : même si je connais très mal VBA, je veux bien me lancer dans un développement mais seulement si quelqu’un m’affirme que c’est possible…
Bref : on peut faire SQL Access => SQL VBA, mais peut-on faire SQL VBA => SQL Access ?
Voilà, la bouteille est jetée à la mer, merci à qui la débouchera !
Partager