Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2008, 10h50   #1
Invité régulier
 
Eleveur caprin
Inscription : juillet 2007
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Eleveur caprin

Informations forums :
Inscription : juillet 2007
Messages : 44
Points : 8
Points : 8
Envoyer un message via MSN à sweetty
Par défaut gestion des factures

Bonjour à tous,

Voilà mon problème.
un client est livré plusieurs fois dans le mois, pour lequel, on établie une facture à la fin du mois en cours. Voilà le hic, je n'arrive pas à trouver ma relation pour mes factures.

Les tables déjà crées sont:
Tiers ( num_tiers, nom, prenom,adresse...)
Commande (num_commande, date_commande, num_tiers)
Ligne_commande ( num_commande, num_produit, quantité, poids, lot)
Produit (num_produit, designation, unité, prix, num_lot)
Lot ( num_lot, lot)
Une table prix me reste à creer. Comment relier ma facture avec toutes mes commandes. Merci par avance pour vos réponses.
sweetty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/03/2008, 19h17   #2
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut C'est normal

Bonjour,

Normal, manque une table (pour moi) si tu énumères la liste complète ici.
Si l'on veut faire un regroupement de plusieurs commandes sur une facture par exemple.
Un champ qui relie la ou les commandes vers une facture.

Sauf si tu laisses la commande ouverte pendant un mois et ajoute des lignes au fur et à mesure, mais là le client ne peut avoir son vrai BL, il aura un BL cumulatif et c'est pas très courant.

Pourquoi une table prix ?
le prix est celui du produit vendu ou c'est autre chose ?

a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2008, 20h50   #3
Invité régulier
 
Eleveur caprin
Inscription : juillet 2007
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Eleveur caprin

Informations forums :
Inscription : juillet 2007
Messages : 44
Points : 8
Points : 8
Envoyer un message via MSN à sweetty
Par défaut Pb gestion facture

Pourquoi une table prix? Parce que le prix varie en fonction de la quantité, à l'unité, les 6 , les 12... je ne peux pas appliquer une regle de calcul voilà tout. Comme tu me l'a dis, il manque une table, LAQUELLE ?Dis m'en plus.

Merci d'avance.
sweetty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2008, 21h19   #4
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Alors là

Bonjour,
Il va falloir peut être échanger un mcd,

Si tous les produits on des remises quantitative ok pour la table de plus.

Pour moi il faut une table pour les factures à établir, car je n'en vois pas dans l'énumération de tes tables ?
Cette table est reliée à ou aux Bons de livraison.

a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 08h16   #5
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Hello
tu n'es pas obligé de passer par des relations de tables pour faire tes factures.
une bonne requête des livraisons non facturées peut suffire
reste à savoir si la correspondance facture <-> est mémorisée dans la table BL ou dans une table à part
comme on a (c'est encore pas sûr) une seule facture pour chaque BL, on peut très bien mémoriser le N°de facture dans la table BL
requête sélection avec critère "tiers = " et "N°facture est null" et peut être même un test de date pour générer la facture
et en fin de facture, après l'impression, une requête de mise à jour pour écrire le N° de facture dans les BL qu'on vient de facturer
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2008, 09h49   #6
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Tout à fait

Bonjour,

Oui je suis d'accord avec toi Simplifi, mais faut envisager le futur à moins que ce soit un projet scolaire.

La table facture simplifie la gestion et permet de gérer en autre :

Une adresse A de livraison et une adresse B de facturation
Le paiement et mode de règlement
La passation en comptabilité
Les relances
Optimisation des requêtes

C'est certain que l'on peut se passer d'une table facture avec un tag de position dans la table commande et un N° de facture.
a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 10h06   #7
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Précisions
je suis d'accord avec toi qu'il est nécessaire d'avoir une table de factures (perso j'en utilise deux, une pour l'entête et le fond et l'autre pour le détail) La cause provient des différences entre commandes, livraisons et factures. C'est pourquoi, selon moi, on recopie les infos des BL dans les tables de facturation afin d'avoir la main pour imposer des différences si nécessaire (remise exceptionnelle, quantités partielles, etc...)

ce que je voulais dire est qu'il ne me semblait pas nécessaire d'avoir une table supplémentaire de correspondance entre les commandes, les BL et les factures
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 10h45   #8
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Précision

Bonjour,

Non, il ne faut pas de table intermédiaire, mais je pense qu'il y a 2 solutions :

- un couple de table mère-fille pour les BL facturés dont la mère est relié à une table facture,(3 tables de plus), lors de la facturation on bascule tous les éléments à facturer vers le couple de tables BL facturés et création d'un enregistrement dans la table facture

- un tag de position dans le couple mère-fille commande, (Position 1 = Cde, 2 = BL, 3 = BL facturé etc .. par exemple) relié à une table facture,(1 table de plus) lors de la facturation on tag la mère du couple comme étant facturé et création d'un enregistrement dans la table facture.

Personnellement j'ai pratiqué les 2 solutions, la première est plus lourde moins souple mais rend l'application beaucoup plus réactive.

J'espère que mes explications sont claires ....

a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 11h15   #9
Expert Confirmé
 
Inscription : mai 2005
Messages : 3 419
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3 419
Points : 3 768
Points : 3 768
j'ajouterais un simple champ nofacture dans commande

et une table factures qui en permettraient la gestion
__________________
Elle est pas belle la vie ?
random est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 12h25   #10
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut C'est le tag

Bonjour,

Pour Random :
C'est le tag "position" ou un autre nom car "position" est un nom réservé (je crois sur SQL server) qui permet de savoir où on en est :

1 c'est une commande
2 un BL non facturé
3 BL facturé
4 factures rapides genre ticket de caisse
etc ...
et même
0 pour cotation

On revient au fait pour sweetty qu'il faut revoir ou compléter un peu le MCD
a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2008, 11h28   #11
Invité régulier
 
Eleveur caprin
Inscription : juillet 2007
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Eleveur caprin

Informations forums :
Inscription : juillet 2007
Messages : 44
Points : 8
Points : 8
Envoyer un message via MSN à sweetty
Par défaut Re

Merci à vous tous pour vos réponses et pour le retard mais j'ai eu une semaine chargée. Je vous fournie le MCD pour ma base de données dites moi comment vous voyez la chose.
Mon problème, si je ne crée pas une table facture, comment je vais pouvoir y integrer toutes mes commandes livrées. je suis un peu larguée alors merci pour votre compréhension
Fichiers attachés
Type de fichier : pdf Relations pour Database Le piqueberle.pdf (21,0 Ko, 39 affichages)
sweetty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2008, 18h44   #12
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut MCD

Bonjour,

Le MCD est nickel chrome (pour moi)

Faut que tu lises les précédents post il y a tout les scénarios expliqués.

Il faut savoir ce que tes commanditaires ou le contexte de travail attendent au niveau facturation.

a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2008, 15h01   #13
Invité régulier
 
Eleveur caprin
Inscription : juillet 2007
Messages : 44
Détails du profil
Informations professionnelles :
Activité : Eleveur caprin

Informations forums :
Inscription : juillet 2007
Messages : 44
Points : 8
Points : 8
Envoyer un message via MSN à sweetty
Par défaut re

Merci à toi Naphta,

Voici mon nouveau MCD, dis moi ce que tu en penses. Autre question comment creer ma table tarif de mes produits. Je m'explique:

Les tarifs des produits varient en fonction des quantitées:

1 1,00 €
2 2,00 €
3 3,00 €
4 4,00 €
5 5,00 €
6 5,40
7 6,30
8 7,20
9 8,10
10 9,00
11 9,90
12 10,10
13 10,90
14 11,80
15 12,60
16 13,50
17 14,30
18 15,10
19 16,00
20 16,80
21 17,70
22 18,50
23 19,30
24 20,20
Comment, à ton avis je pourrais faire. Vois avec le nouveau MCD. Merci pour ta patience
Fichiers attachés
Type de fichier : pdf Relations pour Database Le piqueberle 1.pdf (22,4 Ko, 26 affichages)
sweetty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2008, 19h36   #14
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut Ok la suite

Bonjour,

En attendant le résultat des municipales ...

2 Solutions pour les remises quantitative

Sol. 1 Remise linéaire on applique une règle de 3 et c'est fini, cette méthode est la plus juste pour le client
On part sur la plus forte remise concédée par ex. 20% et la plus grande quantité possible 1000 et après c'est que des maths.

Sol. 2 plus fastidieuse mais la plus utilisée remise palier avec ses effets pervers
Faut une table avec 2 champs réfProduit et palier sup.
il faut lier cette table à celle des produits.
et là 2 possibilités pour retrouver le prix une requête avec liaison à gauche ou du code
ici du code retrouvé pour trouver le prix après la mise à jour de la quantité vendue.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
Function ctrlremise(laref As String, qte As Double) As Variant
 
'-------------------------------------------------------------
' Auteur : Naphta , 03-11-2004
' Notes  : Remise par palier
'-------------------------------------------------------------
' Paramètres
'-----------
' laref (String) Référence Produit
' qte (Long) Quantité achetée
'-------------------------------------------------------------
 
On Error GoTo oror
 
Dim Rst As New ADODB.Recordset
Dim lasq As String
Dim cpt As Boolean
Dim I As Integer
Dim latemp1, latemp2
 
 
'Recherche de la remise Quantitative
lasq = "SELECT RemisePalier.réfProduit, RemisePalier.Quantité, RemisePalier.PrixUnitaire"
lasq = lasq + " FROM RemisePalier"
lasq = lasq + " WHERE RemisePalier.réfProduit='" & FixForSQL(laref) & "'"
lasq = lasq + " order by RemisePalier.Quantité"
 
Rst.Open lasq, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
 
Do Until Rst.EOF
    If cpt = False Then
        latemp1 = qte - Rst!Quantité
        cpt = True
    End If
    If qte - Rst!Quantité >= 0 Then
        latemp2 = qte - Rst!Quantité
            If latemp2 <= latemp1 Then
                ctrlremise = Rst!PrixUnitaire
                latemp1 = qte - Rst!Quantité
            End If
    End If
    Rst.MoveNext
Loop
 
'Si remise Quantitative pas trouvée
If Len(ctrlremise) = 0 Then
    Rst.Close: Set Rst = Nothing
    Rst.Open "ProduitsVendus", CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly
    Rst.Find "RéfProduit='" + FixForSQL(laref) + "'"
    If Not Rst.EOF Then
        ctrlremise = Rst!PrixUnitaire
    End If
 
End If
 
degage:
    Rst.Close: Set Rst = Nothing
    Exit Function
oror:
    Resume degage
End Function
Je viens de revoir le nouveau MCD ur le post suivant une petit remarque
A+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2008, 19h44   #15
Membre expérimenté
 
Inscription : juillet 2005
Messages : 555
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 555
Points : 578
Points : 578
Par défaut La suite

Bonsoir,


Je voudrais savoir si c'est un projet scolaire ou si il est à but lucratif ?

Tu as ajouté la table tb_reglement et là il y a aussi des normes,
débit-crédit sur le compte client,
ou journalisation des paiements sur les factures en direct

En fonction de ta réponse il y aura ou pas un paquet de champs et de tables à ajouter car on va arriver à une Gestion-Co

a+
naphta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h59.


 
 
 
 
Partenaires

Hébergement Web