Access 2003

Fermé
dichar - 29 déc. 2008 à 16:22
 dichar - 3 janv. 2009 à 16:24
Bonjour tout le monde
J’ai une table composé des champs suivants :
NOperation (clé)
DateOperation
MontantDebit(numerique)
MontantCredit(numerique)

Je souhaiterai si possible calculer le solde par ligne dans un formulaire par exemple :
NOperation DateOperation Montantdebit MontantCredit Solde
001/08 15/01/08 1000,00 1000,00
002/08 20/01/08 700,00 300,00



J’ai déjà essayé la solution du pied de formulaire avec total débit et total crédit.
Merci d’avance pour votre aide.
A voir également:

3 réponses

jean_pierre Messages postés 36 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 5 octobre 2011 6
29 déc. 2008 à 18:27
Bonjour
A mon avis il faudrait d'abord faire une requête basée sur ta table
dans laquelle tu afficherais tes champs NOperation DateOperation Montantdebit MontantCredit
et en plus un champ calculé Solde:[Montantdebit]-[ MontantCredit]
Et après créer un formulaire basé sur cette requête
Merci jean-pierre
j'ai essayé ta solution sans résultat
le solde de la ligne n = solde de la ligne n-1 + MontantDebit(ligne n) - MontantCredit(ligne n)
0
jean_pierre Messages postés 36 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 5 octobre 2011 6
30 déc. 2008 à 09:45
Effectivement je n'avais pas compris que tu voulais un Solde cumulé
Je n'ai pas d'autre idée que de le faire en SQL
SELECT T1.NOperation, T1.DateOperation, T1.Montantdebit, T1.MontantCredit,T1.MontantCredit-T1.MontantDebit+ (Select Sum(MontantCredit)-Sum(MontantDebit) From T1 as T Where T.NOperation<T1.NOperation) AS Solde
FROM T1;
J'ai supposé que ta table s'appelait T1
Pour rentrer une requête SQL créer une requête normale en mode création quand le système te demande les tables tu ferme la boîte de dialogue en haut à gauche tu dois avoir une icône SQL qui apparait clique dessus tu te retrouve dans un éditeur de texte qui permet de taper la requête.
Merci jean-pierre pour tout l’intérêt qui tu porte à mon question.
J »ai bien essayé ta solution mais la colonne Solde reste toujours vide.
Voici le SQL complet:(table=OPERATIONS)
SELECT OPERATIONS.RefOperation,
OPERATIONS.DateOperation,
OPERATIONS.Montantdebit,
OPERATIONS.MontantCredit,
OPERATIONS.MontantCredit-OPERATIONS.MontantDebit+ (Select Sum(MontantCredit)-Sum(MontantDebit) From OPERATIONS as OPERATIONS Where OPERATIONS.RefOperation<OPERATIONS.Refoperation) AS Solde
FROM OPERATIONS;
0
jean_pierre Messages postés 36 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 5 octobre 2011 6 > dichar
31 déc. 2008 à 21:34
Dans la sous-requête il ne faut pas que la table opérations ait le même nom que dans la requête principale
SELECT OPERATIONS.RefOperation,
OPERATIONS.DateOperation,
OPERATIONS.Montantdebit,
OPERATIONS.MontantCredit,
OPERATIONS.MontantCredit-OPERATIONS.MontantDebit+ (Select Sum(MontantCredit)-Sum(MontantDebit) From OPERATIONS as T Where T.RefOperation<OPERATIONS.Refoperation) AS Solde
FROM OPERATIONS;
devrait fonctionner si les bulles de champagne n'embuent pas mon cerveau, bonne fin d'année
0
dichar > jean_pierre Messages postés 36 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 5 octobre 2011
1 janv. 2009 à 20:54
Bonjour,
Tout d’abord permettez-moi de vous souhaiter bonne année pleine de bonheur et de réussite.
Occupé avec mon petit problème j’ai oublié l’essentiel.
Votre SQL fonctionne bien sauf pour la 1ere ligne qui reste toujours vide.

sql_solde
RefOperation DateOperation MontantDebit MontantCredit Solde
1 15/01/2008 15000 0
2 20/01/2008 0 5400,75 -9599,25
3 10/02/2008 2400,25 0 -11999,5
0
jean_pierre Messages postés 36 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 5 octobre 2011 6 > dichar
1 janv. 2009 à 21:27
Mes meilleurs voeux aussi
Avec la requête suivante le défaut devrait être corrigé
SELECT OPERATIONS.NOperation, OPERATIONS.DateOperation, OPERATIONS.Montantdebit, OPERATIONS.MontantCredit, (Select Sum(MontantCredit) From OPERATIONS as T Where T.NOperation<=OPERATIONS.NOperation) -(Select Sum(MontantDebit) From OPERATIONS as T Where T.NOperation<=OPERATIONS.NOperation) AS Solde
FROM OPERATIONS;
0
dichar > jean_pierre Messages postés 36 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 5 octobre 2011
2 janv. 2009 à 11:01
Oui effectivement ca fonctionne parfaitement.
Et comme vous en douter un peu, j’ai vite faite de basé un formulaire sur cette requête.
Et là surprise il n’ya pas moyen d’ajouter de nouveau enregistrement à ce formulaire bien que j’ai mis le formulaire sur ajout (dans propriété).
L’objectif dé le début était de créer un formulaire qui permet de calculer le solde ligne par ligne,

Là je sais que j’abuse un peu de ta gentillesse…….
0
nana2006_142 Messages postés 18 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 2 janvier 2009 2
30 déc. 2008 à 13:42
bonjour
bon d'abord tu doit creer un formulaie qui contient montant de debit et montant de credit comme champs
puis tu dois creer une ettiquette a 'inerieur de eme formulaire cliquer par le boutton droit de la souris tu doit choisir apres l'option propriette dans l'onglet autres precisement la troisieme case cliquer sur bouton droit de la souris puis l'option creer tu dois te trouvver devant une fenetre d'insertion d'equation c' est la meme qu'on fait pour calculer sous les requette apres tu tape l' equation suivante
solde: [montantdebit]-[montantcredit]


je pense que c'etait clair

bonne chance
Bonjour nana2006_142
Merci pour ta participation.
Si on met la formule indiquée on obtient un solde par ligne et non pas un solde cumulé.
Bonne année 2009.
0