|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() gerart Inscription : décembre 2011 Messages : 6 ![]() |
Je souhaite réaliser modestement une base de donnés pour un classement de livres
J'ai crée un formulaire: Saisie des Livres. Et j'ai un problème quand je veux saisir le Nom et le prénom de l'auteur. J'ai un message: "Le champ ne peut pas être mis à jour".Je clique sur OK! et là je peux rentrer dans le Nom et Prénom. Comment éviter cela ? Ci-joint mes liaisons et la photo du message Merci pour l'aide Gerart |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : novembre 2004 Messages : 216 ![]() |
Bonsoir,
je pense que ton modèle de données relationnel n'est pas correct. A cause de tes relations, tu ne peux pas créer d'enregistrements dans la table Auteur tant que la table Jonction Livre-Auteurs n'en contient aucun. Je pense qu'il faudrait au préalable créer les auteurs et ensuite les sélectionner dans une liste déroulante au moment où tu saisis un livre, cela te permettras d'alimenter ta table Jonction Livre-Auteurs. D'après la modélisation de tes données tu peux avoir plusieurs auteurs pour un livre, donc pour afficher les nom et prénom des auteurs tu dois baser la requète de ton sous-formulaire Auteurs avec les 2 tables Jonction Livre-Auteurs et Auteurs. |
|
|
00
|
|
|
#3 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Le modèle relationnel est correct. Cependant, il faut nécessairement créer un auteur en même temps que la saisie du livre puisqu'il y a une intégrité référentielle. C'est la qu'intervient l'utilisation de la liste déroulante qui, par l'intermédiaire de l'évènement sur absence dans liste, t'offre l'oportunité de le faire. Cela rejoint la discussion que tu as ouverte dans le forum "Modélisation". Je te joins une petite base de données qui reprend ton problème. Bonne continuation
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
10
|
|
|
#4 |
|
Invité de passage
![]() gerart Inscription : décembre 2011 Messages : 6 ![]() |
Merci Jeannot45 et à tee_grandbois
Jeannot45 Sur ton modèle, dans le sous-Formulaire SF_SaisieLivresAuteurs, j'ai rentré les noms et prénoms des Auteurs. Ensuite j'ai pu les sélectionner dans le formulaire F_SaisieLivres. J'ai 2 questions: Question 1: Sur F_SaisieLivres quand j'ai choisi plusieurs auteurs pour un même livre, je n’arrive pas à inscrire un nouveau livre, les auteurs précédemment choisis restent par défaut. Question 2:Comment as tu fait pour faire le lien entre un auteur et son prénom car je n'arrive pas faire de même. ex: Auteur6 avec prénom6 etc... Peux tu m'éclairer si tu le peux. Cordialement Gérart |
|
|
00
|
|
|
#5 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Question 1 : Tu saisis directement les auteurs à partir du formulaire F_SaisieLivres. Ainsi, les auteurs seront attachés au titre. Ainsi à la saisie d'un nouveau titre, le sous formulaire redevient vierge. Question 2 : Il te faut décortiquer le formulaire F_SaisieLivres et le Sous-Formulaire SF_SaisieLivresAuteurs. 1. Le sous formulaire : SF_SaisieLivresAuteurs Tu dois en fait renseigner en même temps la table T_Auteurs et la table T_LivresAuteurs. Pour cela tu dois créer une requete (voir la source du sous formulaire) à partir des deux tables : T_Auteurs et T_LivresAuteurs. Tu remarqueras que le champ IdLivre est issu de la table T_LivresAuteurs et que les champs NomAuteur et PrenomAuteur sont issus de la table T_Auteurs( ainsi en saisissant un prénom, il est lié au nom sélectionné). Tu verras également que, dans le sous formulaire, la liste déroulante du champ NomAuteur est renseignée par une requete basée sur la table T_Auteurs. D'autre part, il y a un évènemnt placé sur cette liste déroulante : sur absence dans liste. (Tu pourras consulter la procédure : onglet "Evènements". Cette procédure gère l'ajout d'un nouveau nom dans la liste sans interrompre la saisie des titres. Ce qui fait que tu n'as pas besoin de créer les noms des auteurs avant de saisir tes titres. Tout ce fait en même temps 2. Le formulaire F_SaisieLivres. Il est lié est basé sur la table T_Livres. Il contient le sous_formulaire SF_SaisieLivresAuteurs. Afin de pouvoir lier le formulaire principal et son sous-formulaire, il faut renseigner les propriétés Champs Père et Fils du sous formulaire. Pour cela tu passes en mode création sur le formulaire principal puis tu sélectionnes le contrôle Sous-Formulaire et tu affiche les propriétés. Tout se passe dans l'onglet "Données" Champ Pere : IdLivre (correspond au champ de la table T_Livres) Champ Fils : IdLivre (correspond au champ de la table T_LivresAuteurs) Voilà, j'espère avoir répondu à tes questions Bonne courage et bonne fin d'année
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
20
|
|
|
#6 |
|
Invité de passage
![]() gerart Inscription : décembre 2011 Messages : 6 ![]() |
Jeannot45; Merci pour tous tes explications riches en détails, c'est vraiment important pour un grand débutant comme moi et pour d'autres !.
Je t’envoie ma capture vidéo sur You Tube pour t'expliquer ce qui bloque car je ne suis pas toujours clair dans mes questions à l'écrit vu mon niveau Access. Voici le lien: Merci pour le temps passé et de Bonne Fêtes à toi et Toute la communauté des Pros! Cordialement et à Bientôt Gérart |
|
|
00
|
|
|
#7 |
![]() ![]() Jean BALLATInscription : octobre 2004 Messages : 2 856 ![]() |
![]() Lorsque tu veux ajouter un nouveau titre, il te faut cliquer dans le bas de l'écran sur les boutons de déplacement du formulaire et non sur ceux du sous-formulaire. Normalement, ceux du sous-formulaire peuvent ne pas être afficher. Ce qui enlève toute ambiguité A l'année prochaine
__________________
Jeannot Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., [B]Sources VBA Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com