Bonjour,

J'espère que je poste sur le bon forum, sinon, n'hésitez pas à le déplacer.

J'aimerais faire une base de données pour assurer le suivi et la diffusion de plans. Etant autodidacte et un peu débutant dans le domaine des bases de données, j'aimerais avoir votre avis sur la solution que j'ai retenue, pour être sûr de ne pas faire fausse route.

Tout d'abord, le logiciel:
J'ai choisi Access. D'abord, parce que je n'ai que ce système à ma disposition au boulot et à la maison. Il y a un ans, quand j'ai commencé à réfléchir sur la gestion des plans, Access+VBA m'a semblé le plus facile pour m'initier aux bases de données (je bosse chez moi "pour ma culture personnelle" en prenant comme exemples pratiques des solutions appliquables pour mon travail !). De plus, Access me semble convenir pour le nombre d'utilisateurs potentiels: une quinzaine de personnes (écriture et lecture) plus une quinzaine de consultants (lecture).
Les tables seront sur le serveur de l'entreprise, le fichier mbd contenant les tables liées, formulaires, code VBA et requêtes sera copié du serveur vers les postes des utilisateurs en local.

Ensuite, l'organisation et la liaison entre les tables:

Un plan = un document
Un plan possède (je zappe sur ses autres "attributs" qui sont moins importants):
- un numéro
- un titre
- un indice: de 0 (zéro), A, B, C jusqu'à Z. Cet indice évolue tout au long de la vie d'un document.

Diffusion du document:
Un plan indicé est diffusé à une ou plusieurs personnes



Je pense organiser la base comme suit:

table Clients (table externe, l'annuaire des personnes filtrées par affaire):
tabClients
-*idClient (clé primaire)
-NomClient
-PrenomClient
-TelClient
etc.

table définissant le document:
tabDefDoc
*idDoc (clé primaire)
-#refIdClient (référence à l'auteur du plan)
NoDoc (numéro du document)
NomDoc (Titre du document)
etc.

table définissant les indices:
tabInd
-*idInd (clé primaire)
-Indice (Indice: 0,A,B jusqu'à Z)

table définissant le document d'une façon unique=document avec son indice:
TabGestDoc
-*idDocUnique (clé primaire)
-#refIdDoc (référence au document "primaire")
-#refIdInd (référence à l'indice)
-#refIdClient (référence à l'auteur de la modif)
-DateIndice (Date de la modif)
etc.

table définissant les diffusions aux personnes:
tabDiffusions
-*idDiffusion (clé primaire)
-#refIdDocUnique (référence au document "unique", c'est à dire, le plan indicé qui est considéré comme un objet unique)
-#refIdClient (référence à un enregistrement de la table client, personne à qui le plan a été diffusé).
-DateDiffusion
etc.

Une image valant mieux qu'un long discours, voici les relations entre mes tables:


Qu'en pensez vous ? Tous vos conseils et astuces sont les bienvenus.

kenavo,

Jean-Marc qui espère ne pas trop se planter dans sa réflexion...