Bonjour
Suite a mon message j'ai reussi a ecrire ce code :
Les premieres commandes runSQL s'execute bien mais j'ai un probleme d'erreur d'executrion 2001 sur le dlookup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 dim somme as variant Dim db As Database: Set db = CurrentDb Dim rFacture As DAO.Recordset Set rFacture = db.OpenRecordset("facture", dbOpenDynaset) Do While Not rFacture.EOF DoCmd.RunSQL ("UPDATE budget2 SET budget2.[Factures reçues selon contrat] = budget2.[Factures reçues selon contrat] +" & rFacture!montan & " WHERE (((budget2.Idbudget)=" & rFacture!recupidbudget & "));") DoCmd.RunSQL ("UPDATE budget2 SET budget2.[Dépenses Total] = budget2!Bdcencours+budget2![Factures reçues selon contrat]+budget2![Factures reçues hors contrats] WHERE (((budget2.Idbudget)=" & rFacture!recupidbudget & "));") DoCmd.RunSQL ("UPDATE budget2 SET budget2.[Solde à ce jour] = [budget2]![Budget DSI initial]-[budget2]![Dépenses Total] WHERE (((budget2.Idbudget)=" & rFacture!recupidbudget & "));") somme = DLookup("[Expr1]", "R_sommecheancmoulin") DoCmd.RunSQL ("UPDATE budget2 SET budget2.[Solde (avec prévcontrats selon budg DSI)] = budget2![Budget DSI initial]-(budget2![Dépenses Total]+ " & somme & ") WHERE (((budget2.Idbudget)=" & rFacture!recupidbudget & "));") rFacture.MoveNext Loop rFacture.Close: Set rFacture = Nothing db.Close: Set db = Nothing
La requete R_sommeecheanmoulin est basé sur une requete de non concordance.
Voici le code des requetes:
R_sommecheancmoulin:
Et voici le code de la requete de non concordance :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Sum(RNC_echeancmoulin!montant) AS Expr1, RNC_echeancmoulin.idcontrat FROM RNC_echeancmoulin GROUP BY RNC_echeancmoulin.idcontrat;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Echeancier.idecheanc, Echeancier.mois, Echeancier.année, Echeancier.montant, Echeancier.idcontrat FROM Echeancier LEFT JOIN facture ON Echeancier.mois = facture.mois WHERE (((Echeancier.année)="2006") AND ((Echeancier.idcontrat)=[rFacture]![recupnbdc]) AND ((facture.mois) Is Null));
Je ne sis pas si la variable somme qui ne va pas ou si c'est le code de mes requetes
Je fais bien reference aux champs du recordset ouvert
[rFacture]![recupnbdc]
Merci de m'aider
Partager