Visites

   visiteurs

   visiteurs en ligne

Sujet n°235 Conception des tables - Normalisation
    par polux le 06/03/2009 : 17:12

Bonjour,

Je souhaite créer un système de livraisons basé sur une table client qui contient les noms et adresses de facturation ainsi que ceux destinés à la livraison.

Il se fait que certains clients possèdent plusieurs adresses de livraisons pour une seule adresse de facturation.

Le projet de la base est que pour ce cas particulier au moment de l’impression d’une feuille de route pour le chauffeur on puisse sélectionner facilement l’adresse de livraison.

Est-il dès lors souhaitable de créer 2 tables distinctes que l’on nommerait Tbl ClientFactu et l’autre Tbl ClientLivraisons  ou cela n’est-il pas nécessaire ?

Merci d’avance.


Réponse n° 1 par marsouin le 07/03/2009 : 01:19

Salut Polux,

En attendant d'avoir les conseils de Ô Pierre, je vais te donner mon avis. Sachant que je ne suis qu'un pauvre autodidacte en Acces.

Je ferais une seconde table raccrochée par clé primaire un à plusieurs.

Ensuite lorsque je demandes l'aperçu avant impression, je ferais un formulaire demandant l'adresse de livraison basée sur une liste de cette seconde table.

Ensuite, il ne reste plus qu'à faire l'aperçu avant impression avec le filtre qui va bien.

En espérant t'avoir aidé, mais n'hésites pas à attendre les conseils de Pierre, ce serait plus prudent.

Marsouin

Réponse n° 2 par 3Stone le 07/03/2009 : 06:24
Bonjour,

Si tu as plusieurs adresses de livraison pour un même client, il faut effectivement créer une table tblClients, une table tblAdresseLivraison, une table tblFactures et une table tblFactureDetail.

Il y aura probablement aussi une table tblProduits etc...

Cordialement,
Pierre(3stone)

PS: Marsouin, le forum sert aussi à répondre à des questions et pas seulement à en poser biggrin

Réponse n° 3 par polux le 08/03/2009 : 14:56

Bonjour et tout d'abord merci pour vos réponses...

Voilà en réalité je recommence à zéro une base qui n'est qu'à moitié fonctionnelle et souhaite ne plus tomber dans le même travers. En réalité, le cas du client qui possède différents points de livraison est plutôt  rare mais bien présent... En règle générale l'adresse de facturation est la même que celle de livraison.

J'établis ci-dessous un petit schéma des tables:

TblClientPrincipal:

- ID num auto & clef primaire

- Nom Facturation

- Adresse facturation

TblClientDétails:

- Nom Livraison 1

- Adresse livraison 1

- Nom Livraison 2

- Adresse livraison 2

- Nom Livraison 3

- Adresse livraison 3

- Nom Livraison 4

- Adresse livraison 4<

Réponse n° 4 par polux le 08/03/2009 : 15:00

Voilà, j'aurais voulu avoir confirmation que c'est correct et si oui entre quelles champs établire la relation  et de quelle type ?

Il est à noter que dans le projet de la base je souhaite afficher un formulaire qui puisse afficher les 2 tables simultanément ainsi que d’offrir la possibilité d’encodage sur ce même formulaire unique du style :

FrmClients :

-Nom Facturation

-Adresse Facturation

- Nom Livraison 1

- Adresse livraison 1

- Nom Livraison 2

- Adresse livraison 2

- Nom Livraison 3

- Adresse livraison 3

- Nom Livraison 4

- Adresse livraison 4

 

J’imagine que cela puisse se faire sur base d’une requête….

Encore merci, et sorry pour mon obstination à vouloir bien

Réponse n° 5 par polux le 08/03/2009 : 15:03

faire mais après mes erreur du passé je sais que la normalisation est plus que capitale et ne souhaite vraiment pas recommencer ces tâches laborieuses pour n’être moi aussi qu’un pauvre autodidacte et encore bien loin de maitriser et d’avoir tout compris….

Réponse n° 6 par 3Stone le 09/03/2009 : 06:54
Bonjour,


TblClientDétails:
- Nom Livraison 1
- Adresse livraison 1
- Nom Livraison 2
- Adresse livraison 2
- Nom Livraison 3
- Adresse livraison 3
- Nom Livraison 4
- Adresse livraison 4



Non, il ne faut surtout pas faire de cette façon !
Il faut créer une table "T_AdresseLivraison" qui sera liée à la table T_Clients.

Cette table T_AdresseLivraison comprendra le code client en clé externe, un code AdresseLivraison et bien sur la fameuse adresse de livraison.

Ainsi, pour chaque livraison, tu pourras choisir l'adresse voulue.

Dans le formulaire, tu créeras une liste déroulante basée sur la table T_AdresseLivraison et qui te permettra de mémoriser le "CodeLivraison" dans la table Livraison.

Note: Si tu n'as pas lu ou pas compris comment préparer tes tables, je te conseille vivement de lire (ou relire) ces pages.

Cordialement,
Pierre(3stone)

[ Retour à la liste des sujets ]

Recherche



Préférences

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut