Bonjour,

Je développe sous ACCESS 2003 et j'écris des requêtes ACCESS en mode SQL (j'utilise pas l'assistant de création de requêtes).
Voici une des requêtes que j'ai écrite et que j'ai enregistrée dans ACCESS 2003 sous le nom suivant RQ_UNION_ESSBASE_Clients :

Code SQL : 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
25
26
27
28
29
INSERT INTO UNION_ESSBASE_Clients (Entite,Metier,LibelleRubrique,Bn,Rn,Pn,Bn1,Bn_negatif,Rn_negatif,
Pn_negatif,Bn1_negatif)
SELECT [00_Regroupement_Entite].Regroupement_Entite,[00_Correspondance_Metiers_r3].r3,Rubrique, sum(Bn), Sum(Rn), Sum(Pn), Sum(Bn1),
Sum(Bn_negatif), Sum(Rn_negatif),
Sum(Pn_negatif), Sum(Bn1_negatif)
FROM ((
       SELECT Entite,Metier,Rubrique, sum(Montant) as Bn, 0 as Rn, 0 as Pn, 0 as Bn1, -(sum(Montant)) as Bn_negatif,
       0 as Rn_negatif, 0 as Pn_negatif, 0 as Bn1_negatif
       FROM Bn_ESSBASE_FactCli_csv
       GROUP BY  Entite,Metier,Rubrique,0,0,0,0,0
       UNION
       SELECT Entite,Metier,Rubrique, 0 as Bn, sum(Montant) as Rn, 0 as Pn, 0 as Bn1, 0 as Bn_negatif,
       -(sum(Montant)) as Rn_negatif, 0 as Pn_negatif, 0 as Bn1_negatif
       FROM Rn_ESSBASE_FactCli_csv
       GROUP BY  Entite,Metier,Rubrique,0,0,0,0,0
       UNION
       SELECT Entite,Metier,Rubrique, 0 as Bn, 0 as Rn, sum(Montant) as Pn, 0 as Bn1, 0 as Bn_negatif,
       0 as Rn_negatif, -(sum(Montant)) as Pn_negatif, 0 as Bn1_negatif
       FROM Pn_ESSBASE_FactCli_csv
       GROUP BY  Entite,Metier,Rubrique,0,0,0,0,0
       UNION
       SELECT Entite,Metier,Rubrique, 0 as Bn, 0 as Rn, 0 as Pn, sum(Montant) as Bn1, 0 as Bn_negatif,
       0 as Rn_negatif, 0 as Pn_negatif, -(sum(Montant)) as Bn1_negatif
       FROM Bn1_ESSBASE_FactCli_csv
       GROUP BY  Entite,Metier,Rubrique,0,0,0,0,0
) A, 00_Correspondance_Metiers_r3,  00_Regroupement_Entite
WHERE (A.Metier = [00_Correspondance_Metiers_r3].Metier)
AND 00_Regroupement_Entite ON A.Entite = [00_Regroupement_Entite].Entite)
GROUP BY [00_Regroupement_Entite].Regroupement_Entite, [00_Correspondance_Metiers_r3].r3, A.Rubrique;

Cette requête est courte par rapport à d'autres que j'ai écrite.
Mon problème est le suivant :
1) J'insère le code SQL ci-dessus dans la partie [SQL View] de ma requête ACCES nommée RQ_UNION_ESSBASE_Clients .
2) Quand je clique sur le bouton "!" (exécter), la requête s'exécute correctement.
3) Du coup j'enregistre ma requête.
4) Mais quand je retourne dans ma base de données ACCESS 2003 et que je double-clique sur ma requête nommée RQ_UNION_ESSBASE_Clients, ACCESS me génère l'erreur suivante :
"The Microsoft Jet database engine cannot find the input table or query SELECT Entite,Metier,Rubrique, sum(Montant) as Bn, 0 as Rn, 0 as Pn, 0 as Bn1, -(sum(Montant)) as Bn_negatif, 0 as Rn_negatif, 0 as Pn_negatif, 0 as Bn1_negatif FROM Bn_ESSBASE_FactCli_csv GROUP BY Entite,Metier,Rubrique,0,0,0,0,0.
Make sure if exists and that its name is spelled correctly'.
Et quand j'ouvre la requête en mode SQL view, ma requête initiale est coupée comme ci-dessous :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
INSERT INTO UNION_ESSBASE_Clients (Entite,Metier,LibelleRubrique,Bn,Rn,Pn,Bn1,Bn_negatif,Rn_negatif,
Pn_negatif,Bn1_negatif)
SELECT [00_Regroupement_Entite].Regroupement_Entite,[00_Correspondance_Metiers_r3].r3,Rubrique, sum(Bn), Sum(Rn), Sum(Pn), Sum(Bn1),
Sum(Bn_negatif), Sum(Rn_negatif),
Sum(Pn_negatif), Sum(Bn1_negatif)
FROM ([
       SELECT Entite,Metier,Rubrique, sum(Montant) as Bn, 0 as Rn, 0 as Pn, 0 as Bn1, -(sum(Montant)) as Bn_negatif,
       0 as Rn_negatif, 0 as Pn_negatif, 0 as Bn1_negatif
       FROM Bn_ESSBASE_FactCli_csv
       GROUP BY  Entite,Metier,Rubrique,0,0,0,0,] as A, 00_Correspondance_Metiers_r3,  00_Regroupement_Entite
WHERE (A.Metier = [00_Correspondance_Metiers_r3].Metier)
AND 00_Regroupement_Entite ON A.Entite = [00_Regroupement_Entite].Entite)
GROUP BY [00_Regroupement_Entite].Regroupement_Entite, [00_Correspondance_Metiers_r3].r3, A.Rubrique;

Avez-vous une solutions à mon problème car à priori ACCESS n'aime pas trop que l'on crée les requêtes en tapant directement du SQL !

Merci d'avance.

boubou_s