Tout d’abord, bonjour à toute la communauté de Developpez.com. Je vous remercie d'avance pour le temps que vous allez m’accorder. Je met ce post dans la partie formulaire car mes soucis portent plus sur cette partie.
J’ai décidé de me lancer dans l’exposition de mes problèmes sous Access après maintes recherche qui n’ont pas abouti. Je vous explique un peu ma situation avant de rentrer dans le vif du sujet.
Je suis actuellement en 2ème année de BTS en alternance dans une PME dans le commerce. Mon employeur m’a demandé de réaliser une base de données de gestion des salariés sous Access 2007. J’ai déjà quelques bases sur SQL mais Access, je n’y connaissais absolument rien il y a maintenant 3 semaines (et encore je n'y connais pas grand-chose aujourd’hui ). J’ai rencontré pas mal de soucis dans la réalisation de cette base mais là je bloque vraiment.
J’en profite au passage pour vous demander si la conception de la base que j’ai choisi est bonne ou pas, donc si vous avez le temps je vous en remercie
(tous les conseils sont bons à prendre)
Pour en venir à la construction de ma base, elle comprend 10 tables pour le moment, dont:
- Salariés : N°Salarié, Nom, Prénom, Date de naissance,Adresse etc…(table principale)
- Statuts : N°Statut, N°Salarié, Statut, Société, Dépôt d’affectation, Fonction, Coefficient, Niveau etc…
- Diplômes : N°Diplôme, N°Salarié, Diplôme, Spécialité, etc…
- Formations : N°Formation, N°Salarié, Date début formation, date fin formation, etc…
- Expériences : N°Expérience, N°Salarié, Date début expérience, etc….
- Evolutions : N°Evolution, N°Salarié, Date debut EVO, Date fin EVO, etc…
- Rémunération : N°Rémunération, Taux Horaire, Nombre d’heure, etc…
- Variables : N°Salarié, N°Variable, Date d’obtention variable, Montant, etc…
- Intéressement et Participation : N°Interessement, N°Salarié, date int, etc…
- Absences : N°Absences, N°Salarié, Motifs, Date de début, etc…
Voici les relations que les tables ont entre elles :
Si vous avez une meilleure idée pour les relations, je suis preneur. En sachant qu’un salarié peut avoir un seul statut et une seule rémunération et qu’il peut avoir plusieurs Diplômes, Formations, Expériences, Evolutions, Variables, Intéressements et Absences.
Une fois la BDD finie les données seront remplies par l’Assistant Manager par le biais d’un formulaire. J’ai donc fais le choix de regrouper toutes mes données sur un seule formulaire séparé par des onglet (bon ou mauvais choix ? je ne sais pas ) pour un soucis de clarté et d’esthetisme (à mon goût).
Oui je suis désolé pour la longueur de mon post mais je ne suis vraiment pas sur de mon coup mais ne vous en faite pas je passe maintenant à mes deux principaux problème.
Mon 1er problème viens du fait que lorsque que je saisie des données sur mon formulaire, les données vont bien apparaître dans le formulaire et je vais bien pouvoir naviguer sur plusieurs Salarié. Mais lorsque je ferme et ré-ouvre le formulaire, je n’ai plus aucune données. Pourtant les données ont bien été enregistrées dans les lignes de la table correspondante. Peut-être le « recordset » ? si je le change et le met sur feuille de réponse dynamique, je n’ai plus rien qui s’affiche à part l’entête du formulaire. Mon recordset est réglé sur "Feuille dynamique MAJ Globale".
Mon 2ème problème est que j'aimerais bien pouvoir mettre plusieurs fois le même champs dans un formulaire mais sans pour autant que les données soit enregistré sur la même ligne de la table. Je m'explique: pour un salarié, s'il a plusieurs diplôme, je mets des champs Diplôme sur le formulaire (associé à la table diplôme bien sur). Le truc c'est que si je le mets plusieurs fois, l'utilisateur va saisir un premier diplôme mais cela va remplir tout les autres champs du diplôme correspondant automatiquement. En gros cela va écrire sur la même ligne. Normal puisque je ne sais pas comment lui indiquer de remplir sur la ligne du dessous. J'ai vu qu'on pouvais passer par un sous-formulaire mais j’aimerai savoir si cela est possible avec ma méthode.
Voici un exemple:
J'aimerai pouvoir saisir les données sur plusieurs ligne d'un champs sans passer par un sous formulaire afin de conserver cette esthétisme la. Cela m'éviterai d'avoir à créer Diplôme, Diplôme2, Diplôme3, Diplôme4, date d'obtention, date d'obtention 1 etc... De même pour toutes les tables qui sont reliés par un 1-n
Voila voila, j'espère ne pas vous avoir saoulé avec mon roman
Je mets ma base si vous voulez voir ce que ça donne.(mon formulaire n'est pas encore fini mais le schéma reste le même pour les autres informations que je vais rajouté).
Base sur ce lien: BDD Public.accdb
PS: Peut être suis-je pas dans la bonne catégorie de post (et je m'en excuse d'avance) mais mes problèmes portent plus sur l'aspect général d'access.
Merci d'avoir tout lu.
Partager