|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
Bonjour
je n'utilise Access que depuis peu, mais faute de choix, j'ai un projet a faire dont une bonne partie sur access. Pour faire rapide, je dois, sous access et VBA faire un programme de gestion de donée sur des assurances. Voici le but du programme : 4 tables : client particulier - entreprise - courtier - contrat Un courtier peu avoir plusieurs entreprises / clients particulier un client particuliers / entreprises peuvent avoir plusieurs contrat. une entreprise, a un numero qui lui est unique ( clé primaire ) ainsi que les clients. J'ai quelques difficultées a mettre les 4 tables en relation : Comment les placeriez vous pour que : - on puisse faire rechercher, a partir du nom de l'entreprise, le courtier - on puisse trouver les clients / entreprises a partir du nom du courtier Voici le screen des tables pour une meilleure compréhension http://img338.imageshack.us/img338/9855/screnur3.jpg merci |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 35 ![]() |
Salut Alec,
Je n'ai pas non plus une grande maitrise d'Access, mais dans ton cas, je ferai des tables intermédiaires. C'est à dire une table liant les courtiers et les clients particulier/entreprises qui lui sont associés et une table liant les particulier/entreprises avec les contrats.. Ce qui fait que tu n'auras pas 4 tables mais 6 avec les liens suivants: Courtier - lien courtier client lien courtier client - entreprise lien courtier client - particulier entreprise - lien client contrats particulier - lien client contrats. Je sais que ça à l'air plus gros mais ça simplifie beaucoup aprés pour les recherches (j'ai un truc du style en cours et ça marche) Bon courage |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
Merci tu m'es d'un grand secour
pourrais je abusé de ta patience un tout petit peu en te demandant un rapide schéma de tes differentes relations ? je te remercie par avance ps : Quel est l'equivalent d'un label Visual basic, dans VBA ? " étiquette " ? |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
Salut,
C'est ta table contrat qui va faire les liens entre tes tables. Un contrat -> un courtier ->un Client(particulier ou entreprise)
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 35 ![]() |
Voilà une proposition de lien
Tu peux aussi trés bien faire avec 2 tables de liens, une pour les entreprises et une pour les particuliers
|
|
|
00
|
|
|
#6 | |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
Citation:
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
@ jean paul : hum, faut que je reflechisse, ca semble interessant de partir de contrat. j'édit quand j'aurai cogité un peu plus sur la question.
@ange dragon : je ne comprends pas trop, c'est les tables " lien " tu met quoi dedans ? et comment faire pour faire de telles relations ? car une relation dans access, par d'une table pour arriver a une autre. Ici, tu fait une relation de particulier à entreprise, et cette même relation va a " lien client contrat " Je ne sais faire de telles relations sous access :/ Mon soucis c'est que si je recherche par le nom d'un client, il existe peut exister plusieurs personnes avec le même nom :/ Donc je sais pas trop comment m'y prendre la :/ help |
|
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 35 ![]() |
Tu as raison Jean Paul, je viens de voir ça avec la remarque que tu as fais à ma question
Si j'ai bien compris ce que tu proposes c'est de faire comme suit: Pour la table courtier Courtier1 InformationCourtier1 Entreprise1 Courtier1 InformationCourtier1 Entreprise2 Courtier1 InformationCourtier1 Particulier1 Courtier1 InformationCourtier1 Particulier2 Courtier1 InformationCourtier1 Entreprise3 Courtier2 InformationCourtier2 Particulier3 Courtier2 InformationCourtier2 Particulier4 Courtier2 InformationCourtier2 Particulier5 Pour la table entreprise Entreprise1 InformationEntreprise1 Contrat1 Entreprise1 InformationEntreprise1 Contrat2 Entreprise1 InformationEntreprise1 Contrat3 Et sinon pour répondre à ta question Alec, dans les tables lien, quand je parle de client, tu mets les noms de tes entreprises ou particulier |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
Hum ok, mais visiblement tu est d'accord avec la méthode de Jean Paul sur le fait de mettre Contrat au centre de tout ?
N'empeche que j'ai tjrs le soucis des clients : en effet, je dois permettre une recherche des clients. je ne peux pas rechercher les clients par numéro ( car les clients ne le connaissent pas, c'est l'entreprise qui donne des numéro ) et donc je suis obligé de fa5re cette recherche autrement qu'avec le numéro. Probleme : si 2 personnes ont le même nom... edit : j'ai du mal a saisir vos " courtier 1 , courtier 2.." |
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 35 ![]() |
Alors en suposant que tu donnes un numéro à chaque client (numéro unique bien sur)
Quand tu lis un courtier à un client (que ce soit une entreprise ou un particulier) tu lieras bien le courtier à un client unique. Et comme chaque client à un numéro unique quand tu vas faire une recherche sur le nom du client (qui a peut être le même nom mais pas le même ID) ça te permettra de les différencier dans ton résultat Je sais pas si j'ai été clair là... |
|
|
00
|
|
|
#11 |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
Voilà un petit schéma des relationsPièce jointe 14195
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
" Pièce jointe spécifié non valide ou supprimé. Si vous suivez un lien valide, veuillez "
pourrais tu reposter ton modéle s'il te plait ? ange_dragon > oui c'est clair, mais si admettons tu mets en recherche M. " Dupont " et que tu en trouve 3, la il va y avoir un soucis. non ? |
|
|
00
|
|
|
#13 |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
Voilà
Relations2.jpg
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
Merci bcp, c'est une trés bonne idée.
Malheureusement, j'y ai reflechis cette nuit : il y a un soucis En effet, l'ID client, est quelque chose d'interne a l'entreprise, et a aucun moment, le client n'a connaissance de son numéro. Si un " M. X " appel, il va dire " je suis monsieur X" et non pas " Je suis le numero XXX " Donc la, je ne peux plus me baser sur les numeros je pense. Si a chaque appel la secretaire doit replonger dans les dossiers pour trouver le numero du client, elle a vite fait de remplacer mon application qui sera alors inutile. Donc il faudrait que je recherche autrement. Chercher par nom pose probleme car 2 personnes peuvent avoir le même nom. Voyez vous une alternative ? En totu cas, et encore une fois : merci de votre patience, vraiment, vous m'êtes d'une trés grande aide. |
|
|
00
|
|
|
#15 |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
tu peux faire une recherche par nom et avoir dans un sous formulaire la liste de tous les "dupont" avec leur coordonnées (prénoms, adresses, tel, etc)
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
Oki ca marche, je vais donc faire comme ca. Etant donné que je ne devrais faire ces relations que demain, j'aurai surement d'autres question a vous poser :p
a demain donc |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
Re =)
donc j'ai commencé a faire mes tables, que j'ai mis en place grace a un petit logiciel. Bon j'obtiens ca : http://img527.imageshack.us/img527/9053/mcdzd0.jpg bon comme vous pouvez le voir 4 entités. Je met contrat au centre de tout, comme on me l'a conseillé. Probleme : numpley_cont = un numero qu'attribut en interne, l'entreprise, aux differents contrats que les clients ont. numoff_cont = numéro officiel des contrats. Donc comme les relier ? rajouter un " num_ent " , "num_client " et "num_courtier" dans l'entité " Contrat " afin de les relier ? |
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
J'ai pas tout compris, que viens faire l'entreprise ici ?
Expliques un peu plus le fonctionnement.
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 52 ![]() |
hum ma societé propose des contrat assurance a des clients ( client particulier ou entreprise [ d'ou la table "entreprise" qui n'est autre qu'un client ] )
De plus, chaque client ( entreprise comme particulier donc ) a un courtier. Un client peut avoir plusieurs contrats Un courtier peut avoir plusieurs clients. Contrat est au centre, pour eviter les soucis de doublon avec le nom des clients ( comme on l'avait dit un peu plus haut ) avec votre, aide, j'en suis arrivé a ce stade : http://img237.imageshack.us/img237/5...naccessml8.jpg Qu'en pensez vous ? bon ? faux ? Un derniere question, puis ca sera finit je pense : - pensez vous qu'il soit plus judicieux de mettre dans les tables a chaque fois des nom du genre " numero_client , nom_client ... " ou alors est ce que " nom, adresse..." suffisent ? Merci, et bonne journée |
|
|
00
|
|
|
#20 |
|
Membre émérite
![]() Inscription : février 2005 Messages : 809 ![]() |
Si Entreprise est un client comme un autre, tu n'as pas besoin de 2 tables (clients et entreprises) une seule table clients suffit avec un champ qui te permet de differencier si c'est un particulier ou une entreprise.
Ta modélisation risque de poser problème avec num_client et num_entreprise dans la table contrat car ça voudrait dire que ton client particulier fait partie d'une entreprise
__________________
Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com