Base de données

cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 novembre 2022 - 21 oct. 2014 à 16:33
cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 novembre 2022 - 22 oct. 2014 à 09:07
Bonjour a tous et soyez indulgents vis à vis des débutants. Merci

j'écris un petit programme personnel pour gérer mon stock.Voila
j'ai une application avec une base en access
un interface qui permet d'enregistrer les entrées les sorties de magasin et les paiements reçus qui sont souvent étalonnés. Par exemple pour rembourser 500 000F le client peut payer sur 4 a 6 tranches à des dates différentes que j'enregistre au fur et à mesures.

mon problème :
dans la colonne "paiement" j'ai 6 lignes pour un remboursement soit:
date doit/solde paiements
1 500 000 350 000
1 150 000 350 000
800 000 100 000
700 000 180 000
520 000 150 000
320 000

A la ligne "3" j'ai reçu les 100 000 mais il est repassé le même jour complété 200 000 pour faire les 300 000 en mon absence et je l'ai su après les remboursements de la ligne 4 et 5 ie les 180 000 et les 150 000.
ma question : comment écrie le code pour la modification de la ligne 3 pour quelle se répercute automatiquement sur les lignes suivantes à la fois sur le montant du solde et celui des paiements.

donc en modifiant la ligne 3 j'aurai automatiquement la correction des autres lignes
date doit/solde paiements
1 500 000 350 000
1 150 000 350 000
800 000 300 000
500 000 180 000
320 000 150 000
170 000
--

2 réponses

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
21 oct. 2014 à 17:18
Bonjour,
Je pense que le souci se situe dans la façon de stocker les différents paiements...

A mon avis il te faut découper ton appli en plusieurs tables :

Une table FACTURE (id_facture,ID_USER,MONTANT_TOTAL_FACTURE)

Une table ECHAEANCES ( id_echeance, ID_facture, Date_echeance,Reste_a_payer_echeance)
Reste_a_payer_echeance étant le montant que l'utilisateur DEVRA avoir remboursé à la Date_echeanhce

Une table PAIEMENTS ( id_paiement,id_facture,Montant_paye,DateHeure_Paiement)


Tu pourras ainsi requêter la table des PAIEMENTS pour connaitre TOUS les versements faits par un user (sur un ID_FACTURE) par date...
Et ainsi... connaitre pour une échéance donnée (dont tu connais la date) savoir combien il a rembousré (pour cette échéance et/ou depuis le début).


Quoi qu'il en soit, avant de pouvoir commencer à écrire du CODE... il faut réfléchir à la structure de tes tables et au fonctionnement que devra avoir ton appli....



0
cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 novembre 2022
21 oct. 2014 à 20:46
Merci jordane45. Comme tu l'indiques j'ai decoupé tel tu as proposé. Mon problème se situe au niveau de la modification en cascade. Le paiement n'est pas par échéance fixe mais je fais du crédit et je passe par client récupérer le prix de vente entre 2 a 3 semaines selon ma disponibilité ou le client passe au magasin déposer le résultat. parfois c'est mon produit qui est retourné donc je dois le stockée et réduire le montant de la créance.
Merci quand même de me consacrer un peu de ton temps.
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 344
21 oct. 2014 à 22:09
Tu as X lignes de paiement.. parfois plusieurs durant une même échéance (qu'elle soit fixe ou pas... peu importe)...
Via une simple requête SQL tu es donc en mesure de savoir combien il t'a été versé ....; Tu n'as donc pas besoin de modifier la ligne 3 ... il ne s'agit que d'une ADDITION ( SUM)
... en bref.. que tu ais, à la fin, 5 lignes ... ou 1000 Lignes... ce qui compte c'est la SOMME des remboursements.
0
cs_colby Messages postés 126 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 14 novembre 2022
22 oct. 2014 à 09:07
Merci.
tu as vu juste.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 oct. 2014 à 17:20
Bonjour,
Le plus simple, pour un cas aussi fortuit, est d'aller modifier manuellement ta base de donnée, en l'ouvrant avec Access, au lieu de le faire en développement.
0
Rejoignez-nous