Bonjour,

J'ai créé une base de données Access pour une amie qui fait de la permanence téléphonique.
Cette base de données est assez spéciale dans le sens où, comme elle voulait saisir ses appels chaque mois et que le premier jour du mois suivant toutes ses factures se calculent toutes seules (avec des spécificités telles que certains clients qui sont assujettis à la TVA et d'autres non, certains qui n'ont aucun appel mais à qui elle fait un forfait, la sous-traitance...), j'ai dû, au lieu d'avoir une table contenant le numéro de facture, la date... + une autre avec le détail (chaque ligne de la facture), mettre toutes ces informations dans une même table.

Par des requêtes de mise à jour, d'ajout et de suppression, sa facturation fonctionne comme elle le devrait.

Seulement, elle me demande une dernière modif dont je ne sais pas comment tourner le problème.
Elle a des clients un peu "spéciaux" dont voici 2 exemples :
- un client qui ne paye pas pendant 2 mois et qui lui envoie un paiement pour 3 mois (donc la prochaine facture non encore éditée)
- un client qui reçoit une facture de 99,90 € et ne paye que 99 €... s'il voulait arrondir, pourquoi pas à 100 € ?

Donc ce qu'elle voudrait c'est indiquer le montant réglé lors de la réception du paiement et, qu'à la prochaine facturation (donc après traitement de toutes mes requêtes qui sont lancées par clic d'un bouton), un champ, tel un acompte, récupère ce reliquat qui pourrait très bien être de 0 € si tout est normal, mais pourrait aussi être négatif ou positif.
J'ai bien essayé de créer une requête avec regroupement pour avoir le total facturé au client et le total perçu mais après ce n'est pas utilisable dans une requête mise à jour. Mon idée aurait été de mettre cette info de reliquat dans la fiche du client puisque de cette manière cela aurait bien fonctionné car à l'ouverture du formulaire de la facture (afin qu'elle vérifie et envoie la facture par mail), j'ai mis le code pour calculer automatiquement la TVA si le client est assujetti.

Il y a peut-être une façon plus simple de procéder mais je ne vois pas comment. Auriez-vous une idée ?
Pour information, je ne programme que depuis 2 ans et ai appris en autodidacte donc la façon dont j'ai procédé n'est surement pas la meilleure mais jusque-là tout fonctionne, il me manque juste ce petit calcul

Merci d'avance.