|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Bonjour,
Je gére une petite société de formation en entreprise. Je tente de dévepper sur access 2007 un appli qui me permet : - faire un bilan de toutes les formations de l'année (clients, type de formation, adresse du lieu de formation, Chiffre d'Affaire, formateur. Sachant que pour chaque rubrique j'ai plusieurs options possible. J'ai donc créé les objets suivants : 1 table : T_Formations (stocke les infos relatives aux formations) : : Clé primaire : Clients (txt) : Adresse (txt) : Type de formation (txt) : Formateurs (liste de choix) : Date (date) : Facturation (monétaire) : N° de Facture (nombre) : Catégories (trois cases à cocher "cat-1, Cat-2, Cat-3" 1 table : T_Clients : : Clé primaire : Code client (incrémenté +1) : Raison sociale (txt) : Adresse 1 (txt) : Adresse 2 (txt) : CP (masque code postal) : Ville (txt) : Téléphone (masque tél) 1 table employés (formateurs) liée à une table données sociales: T_Employés : : Clé primaire : Civilité (liste de choix) : Nom (txt) : Prénoms (txt) : Adresse de messagerie (txt) "impossible de créer un modéle prédefini" : Fonction (txt) : N° Téléphone pro (masque tél) : N° Téléphone perso (masque tél) : N° Téléphone mobile (masque tél) : Adresse 2 (txt) : CP (masque code postal) : Ville (txt) 1 Table T_Données Sociales : Clé primaire : Date de naissance (date) : N° de SS (masque N° de SS+clé) : Adresse de Naissance (txt) : CP de naissance (code postal) : Age (calculé "expression"=datediff("a" ;[Date de naissance];Maintenant()) "ne s'actualise pas" : Niveau de fomation (liste de choix) : Statut civil (liste de choix "marié, célibataire, concubinage"') : Nombre d'enfants (Nombre) : Date d'entrée (date) "date d'embauche" : Date de sortie (date) "date ou la personne à quitté la société) : Anciéneté (là probléme car ou il est encore dans la socité et on se référe à "maintenant(). Ou il à quité la société et on doit se référer à [Date de sortie] en années et mois et là je plante. Il faudrait du VBA mais ça dépasse mes compétences... Help ! Autre probléme comment visualiser des piéces jointes *.pdf, Contrat, CV, Diplômes etc... Là aussi je bug. Toutes les tables ont un formulaire double affichage, sauf les tables : T_Employés et T_données sociales qui sont sur un formulaire avec onglets (un pour chaque tables). Au final je voudrait obtenir : 1 état des employés avec l'anciénneté 1 état des formations avec sommations des champs facturations (je cherche aussi à faire afficher dans le formulaire de saisie "formation" la somme actualisée pour chaque ajouts) là autre limites de compétences je sais pas faire. Voili voilou je bloque sur plein de points je ne sait pas si la répartition de mes données et cohérente ainsi que mes relations. Je voudrais également intégrer des images de types icones et là encore je bloque. Tout ça parait trés brouillon, mais en fait c'est assez clair dans ma tête, mais je ne suis pas développeur, bien qu'ayant joué avec du java du c et c++ pendant mes études (lointaines sic !!!). Si quelqu'un peu m'aider conceptuellement et techniquement je suis preneur. Merci "Quant on à un clou dans la tête toutes les solutions d'un probléme prennent la forme d'un marteau" |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
bonjour,
j'ai déplacé votre message ici car il y a manifestement une reflexion a mener sur la modélisation avant de d'essayer de travailler sur les formulaires je pense qu'il est préférable de régler les problèmes de modélisation au niveau des tables en premier lieu, sinon la discussion va partir dans tous les sens et le travail fait sur les formulaires sera à refaire si les tables sont modifiées une fois que les tables seront prêtes, une discussion par problème dans le forum adequat sera bien plus efficace
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : septembre 2003 Messages : 4 300 ![]() |
re
une première remarque concerne les champs calculéson ne stocke pas une donnée inutilement en plus ce n'est pas possible de mettre une formule dynamique dans une table par exemple pour l'âge : on a la date de naissance, ça suffit l'âge ne doit pas apparaître dans la table l'âge sera calculé dynamiquement dans une requête on a l'âge dans T_Employés on crée une requête R_Employés par exemple on y met tous les champs de la table T_Employés et on ajoute un champ à cette requête : Code :
age : datediff("a" ;[Date de naissance];Maintenant()) c'est ensuite cette requête qui va nous servir dans l'application au lieu d'avoir T_Employés en source d'un formulaire, on utilisera R_Employés à chaque fois qu'on sollicitera la requête, le champ age sera calculé (mais pas stocké) c'est le même principe pour l'ancienneté pour le client dans T_Formationsc'est bizarre qu'il soit en texte on n'utilise pas le nom du client, on utilise sa clé primaire la clé primaire ne changera jamais, le nom ou l'adresse peuvent changer si le nom du client change dans T_Clients, on ne saura pas le retrouver lors de calculs on doit pouvoir par exemple sommer en fonction d'un identifiant qui ne change pas au cours du temps (la clé primaire) dans T_Formations, on peut ajouter une colonne de recherche : voir : http://office.microsoft.com/fr-be/ac...010163773.aspx on obtient ainsi une saisie du client avec une liste déroulante cette liste déroulante fait apparaître les champs qu'on souhaite (nom du client par exemple) pour faciliter la saisie et avoir un affichage du nom, mais renvoit de manière non visible la clé primaire du client. tout est géré par Access, et les relations sont créés par l'assistant les formateursil peut y avoir plusieurs formateurs par formation on doit créer une table d'association entre T_Formations et T_Employés et on met dans cette table la clé primaire de la formation et la clé primaire du formateur (avec des colonnes de recherche) cette table d'association pourra être remplie avec un sous-formulaire ou on utilise un champ à valeur multiple (nouveauté access 2007) mais je ne sais pas si ça fonctionne correctement pour ce cas voir ce tuto pour plus d'info : http://warin.developpez.com/access/multivalue/ je ne connais pas bien ce type de champ multi-valeurs car je préfère utiliser une table supplémentaire par habitude (et pour garder compatibilité avec les versions antérieures) les données socialesquel lien y-a-t-il entre T_Employés et T_Données Sociales ? si c'est du 1 pour 1, autant tout mettre dans T_Employés non? le code client dans T_Clients il y a une clé primaire + un code client incrémenté la clé primaire seule ne suffit-elle pas? => je finis en concluant qu'il y a donc à mon sens des corrections à apporter aux tables avant de commencer les formulaires une bonne modélisation facilite la suite de développement de l'application bien sûr si tu débutes il faut quand même faire quelques formulaires de tests pour se donner une idée de ce qui est réalisable mais il ne faut pas vouloir avancer trop vite sur l'interface avant d'avoir des tables correctes
__________________
Assistant de création/modification de rubans Office Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL Blog Office Mon Site DVP |
|
|
10
|
|
|
#4 |
|
Invité de passage
![]() Inscription : janvier 2008 Messages : 3 ![]() |
Merci pour vos conseils, je vais tenter de répondre à vos questions :
1) La relation entre T_Employes et T_Donnees sociales, car dans T_employes je stocke ; Civilités, Noms, Prénoms, Adresse, N°de téléphone, Date de naissance. Dans la table T_Donnees sociales je stocke : N° de Sécurité social Date de naissance (relations 1-1) lieu de naissance etc (je ne vais pas reprendre l'ensemble de mon premier message).... Le choix de faire deux tables distinctes me paraissait plus opportun qu'une seule longue table. Dans la table T_Clients le code clients est hybride il est préfixé par "CL" ce qui donne par exemple un client "toto" avec comme code client "CL1111". Donc je l'ai déclaré comme champs txt, mais je ne sais si c'est opportun... Je vais testé vos solutions, auriez-vous un "truc" pour que je refasse ma modélisation ? Cdt |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com