Utilisation de Rechdom dans une requete

cinkiem_as Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

J'utilise Access 2007.
J'ai une table "1 Dépôts" avec les champs [N° dépôt], [Nom], [Prénom], [Ville]...
et une autre "2 Achats" comprenant les champs [N° achat], [# N° dépôt], [Date achat], [Solde antérieur], [Apport du jour].


Dans une requête, je prend l'intégralité de la table "2 Achats" et je rajoute:
- un champs [nouveau solde] calculé sur la somme des champs [Solde antérieur] et [Apport du jour] dont voici l'expression:
nouveau solde: Somme(Nz([Solde antérieur],0)+Nz([Apport du jour],0))

Ma requête a pour but d'alimenter un formulaire. Je dois enregistrer les achats des dépôts chaque jour sachant que le nouveau solde reprend le solde antérieur J-1 du dépôt en question (je simplifie car en réalité, j'ai la somme des achats à déduire, mais elle est dans une autre table "produits").


J'ai essayé avec une fonction rechdom, mais je n'y arrive pas (impossible de récupérer [solde antérieur] J-1 du dépôt XXX dans la case nouveau solde du dépôt en question le jour J)


J'ai essayé également une autre technique donnée sur un autre site (https://www.developpez.net/forums/d911475/logiciels/microsoft-office/access/ihm/rechdom-d-champ-calcule/
J'ai donc rajouter dans ma requête:
- une image de ma table "2 Achats" que j'ai nommé "r2"

mais là encore, choux blanc. Message: dans l'instruction SELECT, un mot réservé ou un argument est mal orthographié ou absent, ou la ponctuation est incorrecte.

Voici mon code:

SELECT [2 Achats].[N° achat],
             [2 Achats].[# N° dépôt],
             [2 Achats].[Date achat],
             [2 Achats].[Solde antérieur], [2 Achats].[Apport du jour],
             Sum(Nz([Solde antérieur],0)+Nz([Apport du jour],0)) AS [nouveau solde]

 (SELECT   TOP 1 [r2].[Solde antérieur]
                            FROM  [r2]
                            WHERE  [r2].[# N° dépôt] = [2 Achats].[# N° dépôt]
                                          AND [r2].[Date achat] < [2 Achats].[Date achat]
                            ORDER  BY [nouveau solde] DESC) AS valeurindexprecedent

FROM [2 Achats] AS [2 Achats_1], [2 Achats]
GROUP BY [2 Achats].[N° achat], [2 Achats].[# N° dépôt], [2 Achats].[Date achat], [2 Achats].[Solde antérieur], [2 Achats].[Apport du jour]
ORDER BY [2 Achats].[# N° dépôt], [2 Achats].[Date achat];


Je sais que ce code doit contenir quelques d'erreurs, je ne le maîtrise pas.


Merci d'avance pour les différentes suggestions (rechdom ou par SQL)!!

1 réponse

blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

tes explications ne me paraissent pas claires...

Ma requête a pour but d'alimenter un formulaire. Je dois enregistrer les achats des dépôts chaque jour sachant que le nouveau solde reprend le solde antérieur J-1 du dépôt en question
Quand est-ce que tu fais cette action ?
0