Access : probleme formulaire/sous-formulaire
elmer17
Messages postés
9
Statut
Membre
-
elmer17 Messages postés 9 Statut Membre -
elmer17 Messages postés 9 Statut Membre -
Bonjour,
Voila mon probleme. Je suis sur access 2007
J'ai créé 2 tables, l'une "meuble" avec les références, dimensions, ... et l'autre "contient_accessoires" avec les accessoires que contient chaque meuble par quantité, ... . Je les ai lié par une relation "un à plusieurs " ; en effet, un meuble contient plusieurs accessoires.
Maintenant, j'ai créé un formulaire principal avec les caractéristiques du meuble(basé sur la table "meuble"), et un sous-formulaire sur ce formulaire principal renseignant les accessoires que ce meuble contient (J'ai créé ce sous-formulaire avec l'assistant, en disant que les champs en relations étaient le champ reference_meuble de la table"meuble" et le champ reference_meuble de la table "contient_accessoires").
Or, lorsque j'affiche formulaire principal et que je me balade dans ses enregistrements, rien ne s'affiche dans le sous-formulaire, seulement la référence_meuble, mais pas les accessoires qu'il contient ni les quantité.
Pourtant quand j'ouvre le sous-formulaire indépendamment en mode feuilles de données, les infos sont bien renseignées....
Quelqu'un pourrait t'il m'eclairer??
Merci d'avance
Voila mon probleme. Je suis sur access 2007
J'ai créé 2 tables, l'une "meuble" avec les références, dimensions, ... et l'autre "contient_accessoires" avec les accessoires que contient chaque meuble par quantité, ... . Je les ai lié par une relation "un à plusieurs " ; en effet, un meuble contient plusieurs accessoires.
Maintenant, j'ai créé un formulaire principal avec les caractéristiques du meuble(basé sur la table "meuble"), et un sous-formulaire sur ce formulaire principal renseignant les accessoires que ce meuble contient (J'ai créé ce sous-formulaire avec l'assistant, en disant que les champs en relations étaient le champ reference_meuble de la table"meuble" et le champ reference_meuble de la table "contient_accessoires").
Or, lorsque j'affiche formulaire principal et que je me balade dans ses enregistrements, rien ne s'affiche dans le sous-formulaire, seulement la référence_meuble, mais pas les accessoires qu'il contient ni les quantité.
Pourtant quand j'ouvre le sous-formulaire indépendamment en mode feuilles de données, les infos sont bien renseignées....
Quelqu'un pourrait t'il m'eclairer??
Merci d'avance
A voir également:
- Access : probleme formulaire/sous-formulaire
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- [Access] creer base données client-produits - Forum Programmation
9 réponses
J'ai trouvé l'erreur.
Par contre je crois que tu seras obligé de supprimer les enregistrements et les formulaires.
La table "contient_accessoire" contient les champs :
- ref_meuble > clé primaire
- ref_accessoire > clé primaire
- quantite
Par contre je crois que tu seras obligé de supprimer les enregistrements et les formulaires.
La table "contient_accessoire" contient les champs :
- ref_meuble > clé primaire
- ref_accessoire > clé primaire
- quantite
Je viens d'essayer ça marche nickel chez moi !
Tu as mis:
ref_meuble (null interdit)
-ref_accessoires (null interdit)
Tu as mis:
ref_meuble (null interdit)
-ref_accessoires (null interdit)
Bah non, ca ne marche toujours pas chez moi (j'ai essaye avec et sans null interdit, marche pas)..
Par contre, quand j'ouvre le formulaire principal en mode formulaire et que je clique sur les petites fleches a coté des noms des champs dans le sous-formulaire, Office me renvoit l'erreur suivante :
"Erreur de syntaxe dans l'expression " [SELECT [contient_accessoires]].[ref_meuble],[contient_accessoires].[ref_accessoire],[contient_accessoires].[quantite] FROM [contient_accessoires].[ref_meuble]".
Par contre, quand j'ouvre le formulaire principal en mode formulaire et que je clique sur les petites fleches a coté des noms des champs dans le sous-formulaire, Office me renvoit l'erreur suivante :
"Erreur de syntaxe dans l'expression " [SELECT [contient_accessoires]].[ref_meuble],[contient_accessoires].[ref_accessoire],[contient_accessoires].[quantite] FROM [contient_accessoires].[ref_meuble]".
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Deux erreurs (en gras) un [ et un . :
Essaie ça:
[SELECT [contient_accessoires]].[ref_meuble],[contient_accessoires].[ref_accessoire],[contient_accessoires].[quantite] FROM [contient_accessoires].[ref_meuble]
Essaie ça:
SELECT [contient_accessoires]].[ref_meuble],[contient_accessoires].[ref_accessoire],[contient_accessoires].[quantite] FROM [contient_accessoires],[ref_meuble]
Ok, donc quand je remplace la source de mon sous-formulaire par l'expression que tu m'as donné, et que j'essaie de revenir du mode creation en mode formulaire, une erreur me repond:
"Le moteur de base de données Microsoft Office Access n'a pas pu trouver l'objet "[contient_accessoires]].[ref_meuble]". Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'acces.
"Le moteur de base de données Microsoft Office Access n'a pas pu trouver l'objet "[contient_accessoires]].[ref_meuble]". Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'acces.
Y'a une 3eme erreur que 'avais pas vu de suite:
Au lieu de:
Mets ça:
Mais je doute que ton problème vienne de là!
Au lieu de:
SELECT [contient_accessoires]].[ref_meuble],[contient_accessoires].[ref_accessoire],[contient_accessoires].[quantite] FROM [contient_accessoires],[ref_meuble]
Mets ça:
SELECT [contient_accessoires].[ref_meuble],[contient_accessoires].[ref_accessoire],[contient_accessoires].[quantite] FROM [contient_accessoires],[ref_meuble]
Mais je doute que ton problème vienne de là!
Ok, donc la il craque completement,
quand j'ouvre le formulaire, il me mets " le fichier "C:\users\desktop\contient_accessoires.mdb" est introuvable", donc comme ci il cherché une BDD nommée contient accessoires, alors que "contient_accessoires" est juste une table qui fait partie de la BDD.
Mais de toute facon, le code est généré directement par Access vu que j'ai utilisé l'assistant de creation sous-formulaires.
Je pense que le probleme vient de la definition des champs ou/et des relations.
Par exemple, quand je prends dans mon formulaires principal les champs de la requete liant les tables "meuble" et "contient accessoires" (je prends les caracteristiques du meubles dans la table "meuble", mais je prends le champ "ref_meuble" dans la table "contient_accesoires")
et que je prends pour mon sous-formulaire les champs de la requete liant les tables "accessoires" et "contient accessoires" (je prends les caracteristiques des accessoires (nom, prix) dans la table "accessoires", mais je prends les champs "ref_accessoires", "ref_meuble" et "quantite" dans la table "contient_accesoires");
et bien là, le sous -formulaires affiche bien les enregistrements des accessoires liés au meuble dont la reference est dans le formulaire principal;
le seul probleme, c'est que mon formulaire principal contient en fait autant d'enregistrements que la table "contient_accessoire" et non que la table "meuble", c'est a dire que par exemple, si un meuble contient 4 accessoires différents, je dois cliquer 4 fois sur la fleche pour passer a l'enregistrement suivant en bas du formulaire principal au lieu d'une fois..
Tu comprends un peu ce que je veux dire : ) !
quand j'ouvre le formulaire, il me mets " le fichier "C:\users\desktop\contient_accessoires.mdb" est introuvable", donc comme ci il cherché une BDD nommée contient accessoires, alors que "contient_accessoires" est juste une table qui fait partie de la BDD.
Mais de toute facon, le code est généré directement par Access vu que j'ai utilisé l'assistant de creation sous-formulaires.
Je pense que le probleme vient de la definition des champs ou/et des relations.
Par exemple, quand je prends dans mon formulaires principal les champs de la requete liant les tables "meuble" et "contient accessoires" (je prends les caracteristiques du meubles dans la table "meuble", mais je prends le champ "ref_meuble" dans la table "contient_accesoires")
et que je prends pour mon sous-formulaire les champs de la requete liant les tables "accessoires" et "contient accessoires" (je prends les caracteristiques des accessoires (nom, prix) dans la table "accessoires", mais je prends les champs "ref_accessoires", "ref_meuble" et "quantite" dans la table "contient_accesoires");
et bien là, le sous -formulaires affiche bien les enregistrements des accessoires liés au meuble dont la reference est dans le formulaire principal;
le seul probleme, c'est que mon formulaire principal contient en fait autant d'enregistrements que la table "contient_accessoire" et non que la table "meuble", c'est a dire que par exemple, si un meuble contient 4 accessoires différents, je dois cliquer 4 fois sur la fleche pour passer a l'enregistrement suivant en bas du formulaire principal au lieu d'une fois..
Tu comprends un peu ce que je veux dire : ) !
- ref_meuble (clef primaire)
- nom
- dimensions
- prix brut
La table "contient_accessoire" contient les champs :
- ref_meuble
- ref_accessoire
- quantite
Cette derniere est aussi liée a une autre table qui est la table "accessoire":
- ref_accessoire (clef primaire)
- nom
- prix
Voila donc