IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Union avec requête analyse croisée [AC-2007]


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 314
    Points : 146
    Points
    146
    Par défaut Union avec requête analyse croisée
    Bonjour,

    J'essai de taper un code Sql en reprenant le code sql des requêtes d'analyse croisée eu les croisant avec union.

    cela génére une erreur.

    Ce process est-il possible!,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si tu expliquais en détail ce que tu as fait et avec le code à l'appui cela devrait aider les membres du forum.

    L'option boule de cristal n'a pas encore été installée.

    Philippe

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Oui c'est possible, il faut simplement que le nombre de champ dans les 2 requetes soit le même. Ce qui est plus compliqué avec des requetes d'analyse croisée.

    Donc comme l'a conseillé Philippe : + d'infos

  4. #4
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 314
    Points : 146
    Points
    146
    Par défaut
    Merci Loufab et Philippe pour la réponse.

    C'est exactement le nombre de champs qui bloquait.

    Par contre est-il possible de faire une union d'une requête analyse croisée et une requête simple si le nombre de champ est idem?

    Merci de votre aide

  5. #5
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 314
    Points : 146
    Points
    146
    Par défaut
    J'aurais voulu savoir la faisabilité de maquestion précédente

    Merci de votre aide

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Oui tant que la règle est respectée.

  7. #7
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 314
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    Selon les indications préconisées et effectuées à mon sens voici le message d'erreur que j'ai :
    "erreur de syntaxe (opérateur absent) dans l'expression "Nom de la requête analyse croisée"

    Voici le Code :

    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
    TRANSFORM Sum(BaseEglaTraitement.Solde) AS Total
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    PIVOT BaseEglaTraitement.REM
    UNION
    SELECT Janvier.Mois, Antennes.[Structure père], "REM" AS Support, [Statut Emploi].[Catégorie Emploi], Sum(Janvier.[Brut Bulletin]) AS [SommeDeBrut Bulletin], Sum(Janvier.[Charges patronales]) AS [SommeDeCharges patronales], Sum(Janvier.[Brut Provisions]) AS [SommeDeBrut Provisions], Sum(Janvier.[Charges Provisions]) AS [SommeDeCharges Provisions], Sum([Autres Charges]+[v_Frais 62 Total]) AS Complément, Sum(0) AS Refacturation
    FROM Antennes INNER JOIN (Janvier INNER JOIN [Statut Emploi] ON Janvier.[Emploi Code] = [Statut Emploi].[Code emploi]) ON Antennes.[Structure Payeuse] = Janvier.[Structure Payeuse]
    GROUP BY Janvier.Mois, Antennes.[Structure père], "REM", [Statut Emploi].[Catégorie Emploi]
    UNION
    SELECT Janvier.Mois, Antennes.[Structure père], "REM" AS Support, [Statut Emploi].[Catégorie Emploi], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges Provsions], Sum(0) AS Complément, Sum([Masse Salariale]+[v_Frais 62 Total]+[v_Retenues Produits Total]) AS Refacturation
    FROM (Janvier LEFT JOIN Antennes ON Janvier.[Structure Payeuse] = Antennes.[Structure Payeuse]) LEFT JOIN [Statut Emploi] ON Janvier.[Emploi Code] = [Statut Emploi].[Code emploi]
    GROUP BY Janvier.Mois, Antennes.[Structure père], "REM", [Statut Emploi].[Catégorie Emploi]
    UNION
     SELECT Janvier.Mois, Antennes.[Structure père], "REM" AS Support, [Statut Emploi].[Catégorie Emploi], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges Provsions], Sum(0) AS Complément, Sum(-([Masse Salariale]+[v_Frais 62 Total]+[v_Retenues Produits Total])) AS Refacturation
    FROM (Janvier LEFT JOIN Antennes ON Janvier.[Structure Employeuse] = Antennes.[Structure Payeuse]) INNER JOIN [Statut Emploi] ON Janvier.[Emploi Code] = [Statut Emploi].[Code emploi]
    GROUP BY Janvier.Mois, Antennes.[Structure père], "REM", [Statut Emploi].[Catégorie Emploi];

    Pour la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comptabilité.[Categorie REM]
    Soit 6 colonnes à l'affichage
    cela correspond à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(Janvier.[Brut Bulletin]) AS [SommeDeBrut Bulletin], Sum(Janvier.[Charges patronales]) AS [SommeDeCharges patronales], Sum(Janvier.[Brut Provisions]) AS [SommeDeBrut Provisions], Sum(Janvier.[Charges Provisions]) AS [SommeDeCharges Provisions], Sum([Autres Charges]+[v_Frais 62 Total]) AS Complément, Sum(0) AS Refacturation
    soit 6 colonnes à l'affichage

  8. #8
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 314
    Points : 146
    Points
    146
    Par défaut
    Je crois avoir trouver la solution.

    C'est de ne pas recourir au tableau analyse croisée.

    Et d'"unioniser" 6 codes sql dont le catégorie.rem est filtré par catégorie.

    Et ca devrait marcher

  9. #9
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 314
    Points : 146
    Points
    146
    Par défaut
    Ca marche

    Voici le code rectifié :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges provisons], Sum(0) AS Complément, Sum(BaseEglaTraitement.Solde) AS Refacturation
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE") AND ((BaseEglaTraitement.REM)="Refacturation"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    UNION
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges provisons], Sum(BaseEglaTraitement.Solde) AS Complément, Sum(0) AS Refacturation
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE") AND ((BaseEglaTraitement.REM)="Complément"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    UNION
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(BaseEglaTraitement.Solde) AS [Charges provisons], Sum(0) AS Complément, Sum(0) AS Refacturation
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE") AND ((BaseEglaTraitement.REM)="Charges Provisions"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    UNION
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(BaseEglaTraitement.Solde) AS [Brut Provisions], Sum(0) AS [Charges provisons], Sum(0) AS Complément, Sum(0) AS Refacturation
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE") AND ((BaseEglaTraitement.REM)="Brut Provisions"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM];
    UNION
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM], Sum(0) AS Brut, Sum(BaseEglaTraitement.Solde) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges provisons], Sum(0) AS Complément, Sum(0) AS Refacturation
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE") AND ((BaseEglaTraitement.REM)="Charges Patronales"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    UNION
    SELECT BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM], Sum(BaseEglaTraitement.Solde) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges provisons], Sum(0) AS Complément, Sum(0) AS Refacturation
    FROM (BaseEglaTraitement INNER JOIN Comptabilité ON BaseEglaTraitement.Compte = Comptabilité.[Compte Comptable]) INNER JOIN Antennes ON BaseEglaTraitement.[N° Structure] = Antennes.[Structure Payeuse]
    WHERE (((BaseEglaTraitement.Journal)="TRPAIE") AND ((BaseEglaTraitement.REM)="Brut"))
    GROUP BY BaseEglaTraitement.Mois, Antennes.[Structure père], BaseEglaTraitement.Compte, Comptabilité.[Categorie REM]
    UNION
    SELECT Janvier.Mois, Antennes.[Structure père], "REM" AS Support, [Statut Emploi].[Catégorie Emploi], Sum(Janvier.[Brut Bulletin]) AS [SommeDeBrut Bulletin], Sum(Janvier.[Charges patronales]) AS [SommeDeCharges patronales], Sum(Janvier.[Brut Provisions]) AS [SommeDeBrut Provisions], Sum(Janvier.[Charges Provisions]) AS [SommeDeCharges Provisions], Sum([Autres Charges]+[v_Frais 62 Total]) AS Complément, Sum(0) AS Refacturation
    FROM Antennes INNER JOIN (Janvier INNER JOIN [Statut Emploi] ON Janvier.[Emploi Code] = [Statut Emploi].[Code emploi]) ON Antennes.[Structure Payeuse] = Janvier.[Structure Payeuse]
    GROUP BY Janvier.Mois, Antennes.[Structure père], "REM", [Statut Emploi].[Catégorie Emploi]
    UNION
    SELECT Janvier.Mois, Antennes.[Structure père], "REM" AS Support, [Statut Emploi].[Catégorie Emploi], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges Provsions], Sum(0) AS Complément, Sum([Masse Salariale]+[v_Frais 62 Total]+[v_Retenues Produits Total]) AS Refacturation
    FROM (Janvier LEFT JOIN Antennes ON Janvier.[Structure Payeuse] = Antennes.[Structure Payeuse]) LEFT JOIN [Statut Emploi] ON Janvier.[Emploi Code] = [Statut Emploi].[Code emploi]
    GROUP BY Janvier.Mois, Antennes.[Structure père], "REM", [Statut Emploi].[Catégorie Emploi]
    UNION
     SELECT Janvier.Mois, Antennes.[Structure père], "REM" AS Support, [Statut Emploi].[Catégorie Emploi], Sum(0) AS Brut, Sum(0) AS [Charges Patronales], Sum(0) AS [Brut Provisions], Sum(0) AS [Charges Provsions], Sum(0) AS Complément, Sum(-([Masse Salariale]+[v_Frais 62 Total]+[v_Retenues Produits Total])) AS Refacturation
    FROM (Janvier LEFT JOIN Antennes ON Janvier.[Structure Employeuse] = Antennes.[Structure Payeuse]) INNER JOIN [Statut Emploi] ON Janvier.[Emploi Code] = [Statut Emploi].[Code emploi]
    GROUP BY Janvier.Mois, Antennes.[Structure père], "REM", [Statut Emploi].[Catégorie Emploi];
    Comme quoi rien ne vaut l'adage : "Aide toi, le ciel t'aidera"

    Il ne reste plus qu'à extraire une requête pour sommer et regrouper tout celà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2002] Etat Access avec requêtes analyses croisées
    Par MLD_ACCESS dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/02/2015, 22h18
  2. Union de requêtes Analyse Croisée
    Par Armagnak dans le forum Access
    Réponses: 8
    Dernier message: 12/07/2012, 15h31
  3. Etat dynamique avec requête analyse croisée
    Par roman33 dans le forum IHM
    Réponses: 2
    Dernier message: 03/05/2010, 13h22
  4. Requête analyse croisée avec MySQL
    Par drakenzara dans le forum Requêtes
    Réponses: 4
    Dernier message: 12/09/2006, 10h14
  5. Formulaire avec une requête analyse croisée
    Par zoom61 dans le forum Access
    Réponses: 1
    Dernier message: 11/09/2006, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo