Soucis formulaires et sous-formulaires access

Fermé
trombine40 Messages postés 836 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 25 mars 2011 - 21 mars 2011 à 19:54
 castours - 26 mars 2011 à 08:26
Bonjour,

j'ai un soucis concernant un petit logiciel que j'essai de mettre en place, qui est censé gérer des réservations.

la base est sous Access et toute simple :

3 tables : client, réservation et produits.

la table client ne contient que le nom du client (clé primaire)
la table produits contient une liste de produits pour lesquels une réservation sera possible (clé primaire)
la table réservation contient 2 relations : le nom du client, le produit, ainsi que la quantité (pour faire simple, il y a d'autres champs mais facultatifs) ; la clé primaire de cette table est un numéro automatique access

mon soucis est à la création d'un formulaire.

je souhaiterais avoir dans le même formulaire le nom du client, et dans un sous-formulaire la liste des réservations de CE client. le soucis est que si le client n'existe pas, il le crée (normal et voulu), mais s'il existe déjà, il affiche le contenu des réservations déjà établies (normal et désiré) mais il me met un message d'erreur de doublon concernant la clé des nom de clients qu'il essai de créer alors que je ne le veux pas ! comment faire pour que mon formulaire fonctionne complètement (en consultation / ajout / modification) et faire en sorte de ne plus avoir ce message d'erreur ?

si quelqu'un pouvait m'aider, je suis noyé ! j'ai acheté plusieurs bouquins assez complets, mais jamais personne ne semble envisager ces fonctionnalités ou une manière pour faire tout ca, de préférence sous le même formulaire / sous-formulaire !

merci beaucoup d'avance


6 réponses

Bonjour
Il faut une relation entre tes 3 tables.
Client, reservation, produit.
Une relation 1 a plusieurs entre Client et reservation
Une relation 1 a plusieurs entre reservation et produit
Cle primaire Client ne met pas le nom client car tu peux trouver 2 nom identique. Cela ne fonctionnera pas
Je te suggere de mettre en N° auto comme clé primaire dans chaque table.
Exemple N°Clt.N°Res,N°Prod
Pour la relation, entre la table Client et reservation,il te faudra declaré en numerique le champ N°Clt De la table reservation,de meme pour le champ N°Res de la table Produit.
Comme cela tu pourras generer un formulaire avec 2 sous formulaires . Lors d'un enregistrement d'un client tu pouras faire une reservation pour plusieurs produits.
0
trombine40 Messages postés 836 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 25 mars 2011 144
22 mars 2011 à 13:46
j'ai peut-être pas tout expliqué, dsl

j'ai déjà une relation entre toutes les tables :

le nom est un champ libre (nom et prenom, c'est juste pour pas compliquer trop, la base sera de "petite" taille) qui est présent dans la table nom et dans la table résa.
et pour les produits, pareil ! d'autant plus que reservation.produit est une liste déroulante de produit.produit donc forcément unique et relié.

le problème de laisser access mettre des clés auto partout est que si je veux des noms uniques, sachant que ma table nom ne contient qu'un seul champ, il faudrait une clé composé alors que je pourrais utiliser directement le nom en clé. je vois pas l'utilité de compliquer le problème.

le formulaire et son sous-formulaire en soi fonctionne (automatiquement crée avec access), mais quand je passe dans le sous-formulaire il essai de valider automatiquement le formulaire principal et donc créer un utilisateur même s'il est présent dans la table, alors que le simple affichage des résa de ce client dans ce cas là me suffit, et c'est ce qu'il fait, malgré le message d'erreur

j'espère que je n'ai embrouillé personne avec mes explications vaseuses ^^

s'il faut je veux bien mettre à dispo mon .mdb ou une capture d'écran de la table avec toutes les relations pour que ce soit plus clair
0
fait moi parvenir ta mdb
0
trombine40 Messages postés 836 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 25 mars 2011 144
22 mars 2011 à 19:08
0

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

Posez votre question
Bonjour
Ton Exemple est Modifié, mais je n'ai pas ton email.
Guy
0
trombine40 Messages postés 836 Date d'inscription lundi 2 juillet 2007 Statut Membre Dernière intervention 25 mars 2011 144
25 mars 2011 à 19:24
supertrombine chez hotmail DOT com
0
Bonjour
La base a été envoyée hier soir. L'as tu reçu?
Guy
0