Bonjour à tous
Débutant en VBA, je cherche depuis plusieurs semaines une solution à la création d'une liste déroulante avec images dans un formulaire; cette liste étant conditionnée par la valeur fournie dans un champ précédent du formulaire.
En plus "clair", je choisi un producteur dans une liste puis je veux une liste des visuels qui appartiennent à ce producteur pour ma deuxième liste déroulante.
Les données:
R_Visuel_Producteur_Ord_Prod est une requête qui trie l'ensemble des visuels par producteur croissant dans un ordre prédéfini; Chaque record comprend:
Visuel_Id qui est un numauto identifiant unique de chaque visuel, Photo qui est le chemin des photos (String), NomProducteur qui est le nom du producteur possédant ce visuel (String)
J'ai suivi et même pompé le tuto sur les fenêtres étendues mais j'ai toujours une erreur à l'exécution à cause du WHERE (erreur de syntaxe -opérateur absent- dans l'expression).
Si je ne mets pas de condition WHERE, cela fonctionne mais dès que je veux ma liste limitée par le nom du producteur, j'ai une erreur.
Voici le code de la procédure événementielle:
A noter que la requête SQL fonctionne en tant que telle dans Access.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Dim lValue As String lValue = InputBoxlistView("Choix Visuel", _ "SELECT Photo, Visuel_Id FROM R_Visuel_Producteur_Ord_Prod WHERE (R_Visuel_Producteur_Ord_Prod.NomProducteur = " & Me.NomProducteur & ")", _ 1, True, "Visuel", , , , , , 300, 500, 255, RGB(43, 249, 9), _ "Comic sans MS", 16, "Arial", 12, True, , 0, True, Array(-1, 0)) If lValue <> "" Then MsgBox "Saisie :" & vbCrLf & lValue Me.Id_Visuel = lValue
Ou ai-je fait une erreur ?
Un peu d'aide me serait bien utile. Merci d'avance
Partager