Bonjour à tous !

Dans le sous-formulaire d'un formulaire, j'ai un champ1 sous forme de liste déroulante qui "pointe" vers le champ d'une table, j'ai ensuite un champ2 qui est saisi par l'utilisateur et le champ3 est rempli automatiquement en fonction de la valeur saisie précédemment en champ2 et de la valeur du champ1, il (champ3) récupère sa valeur dans un autre champ de la table.
J'ai donc créé une Procédure évènementielle sur sortie du champ1.
Pour plus de flexibilité, je souhaite récupérer une information dans une table, toujours en fonction de ce qui est saisi dans le champ1.

En sachant que :
- Fleurs est le nom de ma table sur laquelle "pointe" le champ1
- Type est le nom du champ contenu dans Fleurs et sur lequel pointe le champ1
- Taille est le nom du champ contenu dans Fleurs dans lequel champ3 récupère les données
- saisieFleurs est le nom du formulaire
- Fleurs_SF est le nom du sous-formulaire,
quelle est la syntaxe à adopter ?

Pour l'instant, j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
sql= "SELECT [Fleurs].[Taille] FROM [Fleurs]
WHERE ((Forms![saisieFleurs]![Fleurs_SF].Form!champ1 = [Fleurs].[Type]) AND ([Fleurs].[Taille] BETWEEN 100 AND 200));"
 
If (Forms("saisieFleurs")("Fleurs_SF")("champ2").value >=150) Then  'donc le champ du sous-formulaire saisi par l'utilisateur
    Forms("saisieFleurs")("Fleurs_SF")("champ3").value = sql
End if
Mais j'ai une erreur de syntaxe sur le WHERE.

Quelqu'un saurait-il me dire d'où vient l'erreur ?

Merci beaucoup, d'avance.

Kaera*