Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

erreur liste déroulante et formulaire

8 réponses
Avatar
helmet25
Bonjour,

je d=E9sire cr=E9er un formulaire de consultation en choisissant une
valeur dans une liste d=E9roulante.

Pour cela, j'utilise l'assistant et je choisi bien le choix n=B03
(rechercher un enregistrement bas=E9 sur la valeur de la liste
d=E9roulante)

Je choisis le champ pour la liste d=E9roulante, et au moment de passer
=E0 la suite, j'ai une erreur : "Erreur de syntaxe dans l'expression
Select ...."

je pr=E9cise que le formulaire est bas=E9 sur 2 tables :

Produit : r=E9f=E9rence (cl=E9 primaire), d=E9signation, prix_achat,
nom_cat=E9gorie (cl=E9 =E9trang=E8re)
Categorie : nom_cat=E9gorie (cl=E9 primaire), marge

Dans mon formulaire, je souhaite avoir les info suivantes :
r=E9f=E9rence, d=E9signation; prix_achat, marge
La liste d=E9roulante doit faire figurer la d=E9signation du produit

Merci de votre aide
Fred

8 réponses

Avatar
Pierre CFI [mvp]
bonjour
justement c'est le select.... qu'il nous faut en entier

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

a écrit dans le message de news:
Bonjour,

je désire créer un formulaire de consultation en choisissant une
valeur dans une liste déroulante.

Pour cela, j'utilise l'assistant et je choisi bien le choix n°3
(rechercher un enregistrement basé sur la valeur de la liste
déroulante)

Je choisis le champ pour la liste déroulante, et au moment de passer
à la suite, j'ai une erreur : "Erreur de syntaxe dans l'expression
Select ...."

je précise que le formulaire est basé sur 2 tables :

Produit : référence (clé primaire), désignation, prix_achat,
nom_catégorie (clé étrangère)
Categorie : nom_catégorie (clé primaire), marge

Dans mon formulaire, je souhaite avoir les info suivantes :
référence, désignation; prix_achat, marge
La liste déroulante doit faire figurer la désignation du produit

Merci de votre aide
Fred
Avatar
helmet25
Oui j'imagine mais le problème c'e'st que je n'ai pas en entier le
message !!!

je me doute qu'il y a un problème avec la jointure mais je ne peux pas
y avoir accès grrrrrr
Avatar
helmet25
Bonjour,

je me permets de remonter mon problème !!!

Y-a-il un moyen de se passer de l'assistant pour réaliser ce genre de
travail : afficher les informations dans le formulaire à partir d'une
valeur saisie dans la liste déroulante ?

Je pense que l'assistant se perd dans les jointures huhu !
Avatar
Gilles MOUGNOZ
Bonjour,
je me permets de remonter mon problème !!!
Y-a-il un moyen de se passer de l'assistant pour réaliser ce genre de
travail : afficher les informations dans le formulaire à partir d'une
valeur saisie dans la liste déroulante ?
Je pense que l'assistant se perd dans les jointures huhu !


Bonjour, Fred

Comme te le demandait Pierre, il faudrait connaître la source de ta liste
déroulante (et j'ajouterai le code associé à celle-ci).
Pour cela, place toi sur ton formulaire en mode création, sélectionne ta
liste déroulante et, dans la feuille des propriétés, onglet Données,
donne-nous le texte de la zone Contenu.
Ensuite, dans l'onglet Evénement, tu dois avoir au moins une zone contenant
[Procédure événementielle].
Si plusieurs lignes sont dans ce cas, dis nous lesquelles.
S'il n'y en a qu'une, clique dans la zone puis sur le bouton "..." à droite.
Dans la fenêtre qui apparaît, tu remonte le curseur d'une ligne, tu copies
le code jusqu'à la ligne "End Sub" et tu nous montres tout ça ici !...

Bonne continuation

Avatar
helmet25
Merci de vos réponses !

Le problème c'est que je ne peux rien vous fournir dans la mesure où
l'assistant ne fait pas le formulaire !! Quand je quitte l'assistant,
je me retrouve avec une liste déroulante vierge (comme au moment où
vous la créer).

Ma deuxième question : est-il possible de faire cette recherche sans
passer par le code VB ?
Avatar
Gilles MOUGNOZ
Merci de vos réponses !
Le problème c'est que je ne peux rien vous fournir dans la mesure où
l'assistant ne fait pas le formulaire !! Quand je quitte l'assistant,
je me retrouve avec une liste déroulante vierge (comme au moment où
vous la créer).
Ma deuxième question : est-il possible de faire cette recherche sans
passer par le code VB ?


Re,

La liste déroulante créée avec l'assistant doit être placée sur le
formulaire dans lequel tu veux faire ta recherche. Est-ce le cas ?
Si oui, peux-tu nous donner la source de ce formulaire ? (Dans la fenêtre de
propriété, onglet Données, zone Source)

Dans l'attente...

Avatar
helmet25
La liste est bien créée sur le formulaire (en-tête du formulaire)
que j'ai réalisé à l'aide de l'assistant de création de formulaire.

Voici la source du formulaire :
SELECT [PRODUIT].[référence], [PRODUIT].[désignation],
[PRODUIT].[nom_catégorie], [PRODUIT].[prixachatHT],
[CATEGORIE].[Marge] FROM CATEGORIE INNER JOIN PRODUIT ON
[CATEGORIE].[Nom_Catégorie]=[PRODUIT].[nom_catégorie];

Une petite précision : en faisant un copier/coller du code d'une liste
déroulante qui fonctionne dans un autre formulaire (avec ou sans
jointure), mon formulaire fonctionne correctement.

J'aimerais juste savoir pourquoi parfois ça fonctionne et d'autre fois
non.
Avatar
Gilles MOUGNOZ
La liste est bien créée sur le formulaire (en-tête du formulaire)
que j'ai réalisé à l'aide de l'assistant de création de formulaire.
Voici la source du formulaire :
SELECT [PRODUIT].[référence], [PRODUIT].[désignation],
[PRODUIT].[nom_catégorie], [PRODUIT].[prixachatHT],
[CATEGORIE].[Marge] FROM CATEGORIE INNER JOIN PRODUIT ON
[CATEGORIE].[Nom_Catégorie]=[PRODUIT].[nom_catégorie];
Une petite précision : en faisant un copier/coller du code d'une liste
déroulante qui fonctionne dans un autre formulaire (avec ou sans
jointure), mon formulaire fonctionne correctement.
J'aimerais juste savoir pourquoi parfois ça fonctionne et d'autre fois
non.


Bonjour, Fred

A mon avis, le problème peut venir du fait que tu as deux champs qui portent
le même nom (Nom_Catégorie) dans deux tables différentes.
Je n'ai pas testé mais essaie de voir si tu peux adapter à ton problème...

Bonne continuation