none
Access, en-têtes des colonnes dans une requête analyse croisée dynamique RRS feed

  • Question

  • Bonjour,
    Dans la documentation que l'on trouve sur le net on peut lire ce qui suit
    Dans la feuille de propriétés, sous l’onglet Général, dans la propriété En-têtes des colonnes, entrez une liste délimitée par des virgules de valeurs que vous souhaitez utiliser comme en-têtes de colonnes.
    Remarque : Certains caractères (tels que la plupart des signes de ponctuation) ne sont pas autorisés dans les en-têtes de colonnes. Si vous utilisez ces caractères dans votre liste de valeurs, Access les remplace par un trait de soulignement (_).
    voir
    https://support.office.com/fr-fr/article/Faciliter-la-lecture-des-données-de-synthèse-à-l-aide-d-une-requête-Analyse-croisée-d055f259-9655-49a5-a071-f08cae458310#bm2?1
    J'ai beau essayer cela me renvoi à chaque fois le message
    "Type de données incompatible dans l'expression du critère"
    Ci-dessous copie de la requête SQL qui fonctionne
    TRANSFORM Sum(qry_Valeur_Historique_Par_Titres.Valeur_Tot) AS SommeDeValeur_Tot
    SELECT qry_Valeur_Historique_Par_Titres.Titres
    FROM qry_Valeur_Historique_Par_Titres
    GROUP BY qry_Valeur_Historique_Par_Titres.Titres
    ORDER BY qry_Valeur_Historique_Par_Titres.Date DESC 
    PIVOT qry_Valeur_Historique_Par_Titres.Date 


    Lorsque je veux changer les en-têtes j'ajoute comme indiqué dans la documentation l'instruction ci-dessous et je reçois un message d'erreur lorsque j'exécute la requête modifiée.
    In (1,2,3,4,5,6,7,8);
    Quelqu'un peut-il m'aider car comme vous l'aurez compris lorsque je fais un formulaire à partir de cette requête cela ne fonctionne pas étant donné que les en-tête de colonne change continuellement.
    Merci d'avance
    Alain

    lundi 21 août 2017 09:57

Toutes les réponses

  • Bonjour,

    Si les en-têtes de colonne change continuellement, c'est qu'il faut rendre dynamique les noms de champ dans la requête source "qry_Valeur_Historique_Par_Titres" d'une part et faire en sorte d'avoir une requête intermédiaire fondée sur celle-ci dans laquelle vous ne retournez qu'un GROUP BY sur le mois des dates afin de construire dynamiquement votre clause WHERE IN() d'autre part.

    Le tout serait alors régit par un objet QueryDefs qui recomposera dynamiquement votre analyse croisée après quoi, vous appliquerez un mode de rafraîchissement du formulaire...



    Argy

    mercredi 27 septembre 2017 19:32
    Modérateur