Access : formulaire pour entrer données
Résolu
sophie
-
sophie -
sophie -
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)
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)
A voir également:
- Access : formulaire pour entrer données
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit - Forum Access
- Exemple base de données Access de gestion ✓ - Forum Logiciels
- Quick acces ✓ - Forum Windows
5 réponses
petite précision :
je ne souhaite pas entrer toutes les villes de France dans ma base, car il s'agit de personnes habitant principalement au même endroit et il peut y avoir quelques adresses étrangères.
de plus le fait de regarder ce qui a été inséré dans le formulaire me sera utile pour une autre table "Tel" de ma base contenant le numéro étudiant (E#) et le téléphone (Tel) : les 2 champs constituant la clé primaire, vu qu'une personne peut avoir plusieurs numéros de téléphones et que les téléphones peuvent être partagés.
"Tel" est reliée aussi par une relation "un à plusieurs" avec la table "Etu", le "un" du côté de "Etu". Il faut d'après le même principe que la table "CV", pour enregistrer le téléphone d'un étudiant que celui-ci ait été mis dans la table "Tel".
je ne souhaite pas entrer toutes les villes de France dans ma base, car il s'agit de personnes habitant principalement au même endroit et il peut y avoir quelques adresses étrangères.
de plus le fait de regarder ce qui a été inséré dans le formulaire me sera utile pour une autre table "Tel" de ma base contenant le numéro étudiant (E#) et le téléphone (Tel) : les 2 champs constituant la clé primaire, vu qu'une personne peut avoir plusieurs numéros de téléphones et que les téléphones peuvent être partagés.
"Tel" est reliée aussi par une relation "un à plusieurs" avec la table "Etu", le "un" du côté de "Etu". Il faut d'après le même principe que la table "CV", pour enregistrer le téléphone d'un étudiant que celui-ci ait été mis dans la table "Tel".
Bonjour
Le code postal ne peut pas etre un clé primaire pour la raison suivante: certains code postaux existe pour plusieurs villes, surtout en campagne.
Il vaut mieux partir sur la ville comme clé primaire. Le coté 1 dans la relation table cv et la table Etu doit etre dans la cv.
La raison est que dans le cp d'une ville, il peut y avoir plusieur etudiants habitant cette ville.
Sur internet tu peux trouver toute les villes avec leur code postal.
Le code postal ne peut pas etre un clé primaire pour la raison suivante: certains code postaux existe pour plusieurs villes, surtout en campagne.
Il vaut mieux partir sur la ville comme clé primaire. Le coté 1 dans la relation table cv et la table Etu doit etre dans la cv.
La raison est que dans le cp d'une ville, il peut y avoir plusieur etudiants habitant cette ville.
Sur internet tu peux trouver toute les villes avec leur code postal.
voici un lien d'une table contenant toute les villes de france avec leurs codes postaux. A toi de faire une requete de selection duou des departemnt de ta region. Le lien est valabe 4 jours
https://www.cjoint.com/?3LCwkarT3VP
https://www.cjoint.com/?3LCwkarT3VP
merci beaucoup castours ! je n'avais pas pensé à ce point.
au sujet du formulaire, ce que je souhaite faire est-ce que c'est faisable simplement (utilisation de requêtes ou de SQL) ??
c'est à dire
a) étudier dans une case du formulaire (par exemple pour le champ Ville) ce qui a été écrit,
b) puis enregistrer le Ville-CP (s'il est nouveau) dans la table CV
c) et seulement après enregistrer les données dans les champs de ma table Etu (ce qui sera en accord avec la relation "un à plusieurs" vu que le couple Ville-CP entrée pour la personne existe bien dans la table CV) ?
Vu que je débute je n'arrive pas à voir si je me complique les choses, ou si je souhaite faire qqch de trop compliqué vu que je suis pas réellement censée utiliser VBA (que je ne connais pas).
J'ai peur de ne pas prendre le problème dans le bon sens...
Je vous remercie par avance pour votre aide.
au sujet du formulaire, ce que je souhaite faire est-ce que c'est faisable simplement (utilisation de requêtes ou de SQL) ??
c'est à dire
a) étudier dans une case du formulaire (par exemple pour le champ Ville) ce qui a été écrit,
b) puis enregistrer le Ville-CP (s'il est nouveau) dans la table CV
c) et seulement après enregistrer les données dans les champs de ma table Etu (ce qui sera en accord avec la relation "un à plusieurs" vu que le couple Ville-CP entrée pour la personne existe bien dans la table CV) ?
Vu que je débute je n'arrive pas à voir si je me complique les choses, ou si je souhaite faire qqch de trop compliqué vu que je suis pas réellement censée utiliser VBA (que je ne connais pas).
J'ai peur de ne pas prendre le problème dans le bon sens...
Je vous remercie par avance pour votre aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Je te joins par ce lien le code vba ajout dans une liste.
Ce code n'est pas de moi mais trouver sur le site de self access.
Tu trouveras des explications pour installer la procedure.
Je te souhaite mes meilleurs pour 2012
https://www.cjoint.com/?ALEsQvkn1yx
Je te joins par ce lien le code vba ajout dans une liste.
Ce code n'est pas de moi mais trouver sur le site de self access.
Tu trouveras des explications pour installer la procedure.
Je te souhaite mes meilleurs pour 2012
https://www.cjoint.com/?ALEsQvkn1yx
Je sais que tu n'as besoin de toutes les villes de France mais c'est a toi de trier les villes de ta region ou du departement par une requete de selection.
Je te joins un fichier qui gere les adresses. Tu peux selectionner les gens ou avoir les personnes par villes. Tu npeux t'inspirer de ce qui a été réaliser. Regarde les relations
https://www.cjoint.com/?ALDirZjLjka
merci beaucoup pour ton aide !
Il faut donc préremplir les couples CP-Ville qui m'intéressent dans CV, et seulement ensuite remplir les données sur les étudiants via mon formulaire.
Le fait de tout faire en même temps via le formulaire (en traitant le cas de l'ajout/non dans la table CV enregistrement par enregistrement) n'est donc pas réalisable si je comprends bien ?
Mais on doit pouvoir ajouter directement un nouveau enregistrement dans la table cv a partir de ton formulaire etudiants. Il me semble qu'il faut regarder dans les propriétes de la liste deroulante cv que tu utilise dans ton formulaire.
Dans ta table cv, il ne doit y avoir qu'une seule ville et code postal du meme nom.
Il Te faudra l'adapter avec les noms de champs de la liste.
encore merci.