Bonjour à tous,
Je suis actuellement en train de créer une Base de données sous Access 2010 pour stocker des données relatives à des étudiants. Il s’agit de ma 1ère base et je rencontre des problèmes que je n’arrive pas à résoudre. Si vous pouviez me donner votre avis, j’en serai ravie.
Voici le contexte :
Pour éviter la redondance d’information (du fait de la dépendance fonctionnelle entre les champs code postal et ville ) j’ai séparé mes champs en 2 tables :
- Table Etudiant (appelée Etu) contenant :
P# : le numéro de la personne (P1, P2,…)
E# : son numéro étudiant (CLE Primaire)
ENom : son nom
CP : son code postal
Dipl : le dernier diplôme obtenu
- Table répertoriant les couples CP-Ville (appelée CV)
CP : code postal (CLE Primaire)
Ville : ville associée au code postal
Les tables sont liées au niveau du champ « CP » par une relation « un à plusieurs », et le côté « un » de la relation est pour la table Etu.
Je souhaite que la base puisse être utilisée par un utilisateur quelconque, et donc que l’enregistrement des données se fasse grâce à un formulaire. J’ai créé un formulaire avec tous les champs précédents sauf le champ « CP » de la table « CV ».
L’enregistrement des données pour un étudiant est possible que si son code postal existe déjà dans la table CV. Pour cela je m’y prends ainsi :
1) Entrer des données souhaitées pour un étudiant dans le formulaire
2) Avant de cliquer sur le triangle noir pour passer à un autre enregistrement, on clique sur un bouton (que l’on a créé dans le formulaire) qui vérifie si le couple CP-Ville existe déjà dans la table CV, et si ce n’est pas le cas, le couple est ajouté (avec une requête d’ajout) dans la table CV.
3) On peut ainsi enregistrer les données et passer à l’enregistrement suivant
C’est dans la mise en pratique du 2) que j’échoue, est-ce réellement possible d’utiliser une fonction recherche ou une requête qui vérifie, avant toute étape d’enregistrement, si ce qui a été entré dans la case CP du formulaire existe déjà ?
Ce que je n’arrive pas à faire c’est qu’il s’agit d’un enregistrement courant (porte-il un nom générique pour l’utiliser comme argument d’une fonction par exemple ?) ; et non pas d’une valeur connue que l’on peut chercher (si j’ai bien compris) à l’aide de la fonction RechDom().
J’espère avoir expliqué clairement les choses (faites moi signe pour toute précision supplémentaire).
Je vous remercie par avance de votre aide,
Sophie)
Partager