Bonjour à tous,
J'ai un problème sur une requête en SQL version ACCESS que j'écris dans un module.
En fait pour faire simple, j'ai 4 tables avec 3 colonnes : FINESS (texte), ETABLISSEMENT (texte), PONDERATION (numérique).
Les tables s'appellent HC_ADULTE, HC_ENFANT, HC_JEUNE_ADULTE et HC_GERIATRIE.
Chacune des tables ne comportent pas forcément les mêmes noms d'établissement, donc la jointure entre toutes les tables est impossible.
Par exemple, il peut y avoir un même établissement en HC_ADULTE et HC_GERIATRIE mais pas dans les 2 autres.
J'ai une table finale que je cherche à remplir : PONDERATION_TOTALE avec comme colonne FINESS, PONDERATION_HC, PONDERATION_HDJ (que je complèterai de la même manière que HC) et PONDERATION_TOTALE (même nom que la table d'ailleurs, ca peut changer).

En fait je cherche à sommer les pondérations d'un établissement présent dans une ou plusieurs tables et remplir les colonnes FINESS (qui est le numéro d'identité de l'établissement), ETABLISSEMENT et PONDERATION_HC qui est la somme des pondération des autres tables par établissement.

Voilà mon code (CHATGPT ne sait pas me résoudre mon problème) :

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
21
22
23
24
Option Explicit
 
Sub Ajout_PONDERATION_TOTALE()
 
DoCmd.SetWarnings False
 
    DoCmd.RunSQL "DELETE * FROM PONDERATION_TOTALE"
 
'Import des pondérations HC, HDJ et total par établissement
 
    DoCmd.RunSQL "INSERT INTO PONDERATION_TOTALE (FINESS, ETABLISSEMENT, PONDERATION_HC)"
                 "SELECT FINESS, ETABLISSEMENT, SUM([PONDERATION]) AS PONDERATION_HC"
                 FROM (
                    SELECT FINESS, ETABLISSEMENT, PONDERATION FROM HC_ADULTE
                    UNION ALL
                    SELECT FINESS, ETABLISSEMENT, PONDERATION FROM HC_ENFANT
                    UNION ALL
                    SELECT FINESS, ETABLISSEMENT, PONDERATION FROM HC_JEUNE_ADULTE
                    UNION ALL
                    SELECT FINESS, ETABLISSEMENT, PONDERATION FROM HC_GERIATRIE)
                GROUP BY ETABLISSEMENT
 
 
End Sub

Tout est en rouge sauf la première ligne....car en erreur. Merci de votre aide !