|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Architecte réseau Inscription : décembre 2011 Messages : 11 ![]() |
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 : 1138024515.jpg 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 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: 1138025488.jpg 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.
|
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour,
Pour ton 1er problème, voir 2 propriétés : Entrée données = Non Type Recordset = Feuille de réponse dynamique Pour ton 2ème problème, il te faut passer par un sous-formulaire. Mais tu peux avoir un "design" identique à celui que tu désires, sauf que tu auras seulement autant de lignes que de diplômes. Et encore, si cela te dérange vraiment, tu peux générer un nombre fixe d'enregistrements. Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Architecte réseau Inscription : décembre 2011 Messages : 11 ![]() |
Merci Domi2.
Pour le 1:Quand je fais cela, il y a juste l'entête du formulaire qui apparaît. La partie détail n'apparaît plus. Pour le 2: Je vais approfondir cette possibilité. Comment faire pour générer un nombre maxi sans pour autant créer Diplôme1, Diplôme2, date d'obtention1, date d'obtention2 etc...? Il est vrai que créer des champs pour chaque diplôme est un peu fastidieux, car je n'ai pas seulement cette table la ou les champs doivent apparaître plusieurs fois, j'ai aussi les absences qui figureront au nombre de 20, les évolutions par 10, les expériences par 10 etc... J'avais déjà essayé avec cette méthode sans passer par les sous formulaires sur une autre base et au bout d'un moment, Access m'affichait un message d'erreur comme quoi j'avais trop de champs. Après est-ce parce qu'ils étaient tous dans le même formulaire ? Le SELECT du formulaire était immense :/ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com