Access : probleme formulaire/sous-formulaire

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

9 réponses

CaPiT Messages postés 622 Statut Membre 51
 
Bonjour,

pexu tu nous dire les champs exacts que continnent tes deux tables. Merci.
0
elmer17 Messages postés 9 Statut Membre
 
En fait, la table "meuble" contient les champs :
- 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
0
CaPiT Messages postés 622 Statut Membre 51
 
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
0
elmer17 Messages postés 9 Statut Membre
 
Excuse moi, j'ai oublié de te le preciser mais j'ai bien defini dans la table "contient_accessoires":
-ref_meuble (clef primaire indexé avec doublons)
-ref_accessoires (clef primaire indexé avec doublons)
-quantite

...

Le probleme ne vient donc pas de ca.
0
CaPiT Messages postés 622 Statut Membre 51
 
Je viens d'essayer ça marche nickel chez moi !
Tu as mis:
ref_meuble (null interdit)
-ref_accessoires (null interdit)
0
elmer17 Messages postés 9 Statut Membre
 
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]".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CaPiT Messages postés 622 Statut Membre 51
 
Deux erreurs (en gras) un [ et un . :
[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]
0
elmer17 Messages postés 9 Statut Membre
 
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.
0
CaPiT Messages postés 622 Statut Membre 51
 
Y'a une 3eme erreur que 'avais pas vu de suite:
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à!
0
elmer17 Messages postés 9 Statut Membre
 
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 : ) !
0
CaPiT Messages postés 622 Statut Membre 51
 
Si ta base de données est légère mets la sur www.cijoint.fr

Donne moi le lien ici je vais regarder ta base ;)
0
elmer17 Messages postés 9 Statut Membre
 
Je l'ai zippé, elle ne fait plus que 1,3 Mo environ, mais je n'arrive pas a l'envoyer sur cijoint.fr (je suis en Indonesie en ce moment et j'ai une connexion un peu merdique en fait.. :)
0
CaPiT Messages postés 622 Statut Membre 51
 
Je t'ai envoyé mon Email en message privé ;)
0
elmer17 Messages postés 9 Statut Membre
 
je l'ai pas recu je crois ( toujours 0 message) !
0