Bonjour
Je suis débutante avec Access, j'ai commencé par trouver des cours et je sais à peu près modéliser mon projet, créer les tables, les relations, faire quelques requêtes en mode création/sql, et créer un formulaire simple, mais je n'arrive pas à faire un formulaire pour mon projet. J'ai du loupé une étape.
J'ajoute que j'ai déjà consulté la FAQ, et fait de multiples recherches et j'ai déjà mis de côté plein de tutos pertinents pour la suite, mais je suis bloquée et j'ai du mal à formuler mon problème assez simplement.
Le projet c'est de pouvoir noter les observations de la flore. Pour cela j'ai une table "Lot d'observations", qui regroupe une ou plusieurs observations. Un lot est associé à une date, un endroit, un observateur, un contexte. A une date/ un lieu/ un observateur/ un contexte peut être associé plusieurs lots d'observations. Les espèces observées sont ensuite liées par le biais d'une table de jonction, mais le problème de mon formulaire est encore en amont, et donc j'aimerais régler mon problème avant de passer à la suite.
Pour mon exemple, je vais donc me limiter à ce schéma relationnel :
LotObservations (IDLotObservation,#IDDate,#IDLieu,#IDContexte,#IDObservateur)
Date (IDDate, DatePrecise, DateTextuelle)
Lieu (IDLieu, Lieu, TypeLieu)
Contexte (IDContexte, Contexte, TypeContexte)
Observateur (IDObservateur, NomObservateur, PrenomObservateur)
Les tables sont correctement liées avec intégrité référentielle.
J'ai un premier formulaire "LotObservations" avec les champs suivants que l'on peut saisir :
Date
Date textuelle
Lieu
Type de lieu
Contexte
Type de contexte
Nom de l'observateur
Prénom de l'observateur
Les sources des contrôles sont directement les champs des tables respectives.
J'ai fais un premier test de mon formulaire, et en soi, ça fonctionne : si je saisie une date, un lieu, un contexte, un observateur, disons "Jean Dupont", les données sont correctement liées dans la table LotObservations, et elle apparaissent correctement dans les tables.
Mais si notre ami "Jean Dupont" fait de nouvelles observations, je crée un nouvel enregistrement pour la table LotObservations, je saisie alors la date, le lieu, le contexte, et comme observateur "Jean Dupont". Et là, tout logiquement je l'avoue, Access me crée un nouvel enregistrement pour la table Observateur.
Il y a donc deux enregistrements pour Jean Dupont dans la table Observateur. De la même manière, il peut y avoir plusieurs enregistrements pour la même date, le même lieu... et donc ça crée des doublons.
En soi j'ai trouvé des solutions pour éviter de saisir des doublons :
- mettre les champs NomObservateur et PrenomObservateur en clé primaire (en supposant qu'il n'y ait pas d'homonyme) mais cette solution ne pourrait pas s'adapter à la date par exemple, car la date peut aussi être renseignée de manière textuelle (exemple : "printemps 2012").
- créer un index avec "oui sans doublon" et Access empêche alors de saisir deux fois le même groupe de valeurs, de sorte qu'il ne peut y avoir deux "Jean Dupont".
Mais je n'arrive pas à associer plusieurs lots d'observations au même observateur (ou au même enregistrement de la table observateur) par le biais d'un formulaire. La structure des tables et des relations me le permet, mais je ne sais pas comment associé un lot d'observations à un enregistrement déjà existant d'une autre table, via un formulaire. Est-ce qu'il faut utiliser une requête? Et si oui, comment?
Partager