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

MS SQL Server Discussion :

Pb de passage de parametres a un sous rapport


Sujet :

MS SQL Server

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut Pb de passage de parametres a un sous rapport
    Bonjour a tous,

    J'ai donc fait un rapport lié à un sous rapport par un parametre.
    Pour etre clair j'ai un liste de client avec la somme des factures éditées pour eux, et si je clique sur un nom du client j'ai le descriptif des commandes.
    Jusque là rien d'exceptionnel!!
    Ca fonctionne, sauf qd on a un client avec un nom comportant des espaces ou des accents, et la ca plante.

    j'ai l'erreur suivante:

    "Une erreur s'est produite lors du traitement local du rapport
    Une erreur s'est produite lors du traitement du rapport
    Echec de l'execution de la requete pour le dataset : Cube
    Analyseur : la Syntaxe pour "partie_du_nom_composé" est incorrecte"

    Petite précision:
    Mon dataset est basé sur un cube fait avec Analysis Service de SQL 2005
    Mon sous-rapport fonctionne très bien en apercu, qu'il y ait ou non des espaces,accents...

    Je pense que l'erreur vient du transfert du parametre, mais ou?? et quelle est la syntaxe demandée?

    Si qqn peut m'aider...

    Merci

    Geof

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    je vous tiens au courant...
    J'ai décidé de passé le parametre id_client, mais maintenant j'ai l'erreur suivante;
    "
    ...
    Query(1,486) les restrictions imposées par l'indicateur CONSTRAINED dans la fonction STRTOSET n'ont pas été respectées
    "

    Je ne vois pas, la requete en MDX a été générée par SQL server 2005, à la sélection des champs du dataset, la voilà :

    SELECT NON EMPTY { [Measures].[Montant HT ligne Titre], [Measures].[Montant TVA ligne Titre], [Measures].[Montant TTC ligne Titre] } ON COLUMNS, NON EMPTY { ([Dim Recette].[NUMERO].[NUMERO].ALLMEMBERS * [Dim Recette].[NUMERO LIGNE].[NUMERO LIGNE].ALLMEMBERS * [Dim Exercice Budgetaire].[EXERCICE].[EXERCICE].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( STRTOSET(@DimExerciceBudgetaireEXERCICE, CONSTRAINED) ) ON COLUMNS FROM ( SELECT ( STRTOSET(@DimTiersIDDIMTIERS, CONSTRAINED) ) ON COLUMNS FROM [Win M9DW])) WHERE ( IIF( STRTOSET(@DimTiersIDDIMTIERS, CONSTRAINED).Count = 1, STRTOSET(@DimTiersIDDIMTIERS, CONSTRAINED), [Dim Tiers].[ID DIM TIERS].currentmember ) ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

    Sachant qu'elle fonctionne tres bien en apercu, mais pâs qd elle est appelé par le rapport parent.

    Merci

  3. #3
    Membre émérite
    Avatar de Reskibil
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 561
    Par défaut
    Bonjour,

    Query(1,486) les restrictions imposées par l'indicateur CONSTRAINED dans la fonction STRTOSET n'ont pas été respectées
    J'ai souvent eu ce message d'erreur lorsque la valeur du paramètre que j'envoyais dans le sous-rapport ne lui plaisait pas.
    D'après ce que j'ai compris, tu envoies désormais l'ID du client au lieu du nom. Est-ce que dans le sous-rapport tu as bien un dataset qui te renvoie le nom du client en fonction de son ID. D'autre part, le problème peut être aussi au niveau des définitions de paramètre (d'un côté tu as un multi-value et de l'autre non). Assure toi que le paramètre de départ de celui d'arrivée soient identique.
    2e chose, pour tester, ce que je fais dans le sous-rapport, c'est de mettre une valeur par défaut en dur au paramètre et voir si le preview marche. Une fois que cela marche, tu t'assure d'envoyer la même chose par ton drillthrough.

    J'espère t'avoir un peu aidé

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    Je vais essayer de repondre dans l'ordre...
    J'ai effectivement un dataset concernant l'id du client, ce dataset a ete créé automatiquement qd j'ai défini que j'enverrai en parametre l'id du client pour lister les commandes correspondantes a ce client

    Je ne sais pas comment faire pour voir si le parametre de depart est identique à celui d'arrivee . (ca existe du deboggage pas à pas pour le mdx?), ni quel est le format attendu, est ce la valeur ou du style [dimension].[attribut].&[valeur]?

    sinon mon sous rapport fonctionne bien en apercu, avec un parametre en dur, ca plante uniquement qd il est appelé par le rapport parent.

    c'est quoi le drillthrough?...

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut [RESOLU] Pb de passage de parametres a un sous rapport
    Je crois que j'ai trouvé...piouuufff
    Ce ne fut pas sans mal.
    Petit rappel ma source de données est un cube OLAP créé avec Analyses Services

    En fait ce qu'il se passait:
    Mon sous rapport attendait des parametres sous formes :
    [dimension].[attribut].&[valeur]
    Or mon rapport parent envoyait seulement la valeur du parametre.

    Ce que j'ai fait:
    J'ai laissé les requetes MDX telle quelle dans mon sous rapport et mon rapport parent.
    J'ai défini mes parametres pour mon sous rapport ( pas de valeur multiples, sans requete)

    Dans les propriétés du champ qui fait le lien avec mon sous rapport, dans l'onglet "Navigation", j'ai spécifié le rapport à appeler, et j'ai cliqué sur "Parametres" (le bouton d'à coté) et j'ai défini les parametres avec le nom du champ contenant la valeur a transferer.
    J'avais donc dans le tableau:
    nom_parametre | =fields!Nom_Champ.value

    C'est LA que la petite modif qui change tout survient...
    il faut mettre :
    nom_parametre | ="[Dimension].[Attribut].&["+fields!Nom_Champ.value+"]"
    (je vous rappele que mon sous rapport attendait un parametre justement de type [dimension].[Attribut].&[valeur])

    Et maintenant ca marche nickel!!

    En esperant que ca aidera...

    Bon Dev'

    Geof

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

Discussions similaires

  1. Passage de parametre multiple aux sous rapport
    Par tggarm dans le forum iReport
    Réponses: 1
    Dernier message: 06/01/2011, 11h32
  2. Réponses: 2
    Dernier message: 13/01/2010, 08h42
  3. [XSLT] Atteindre un element sous condition:passage de parametre
    Par belool dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 15/04/2008, 09h16
  4. passage de parametre sous VBA excel
    Par raka200 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/12/2007, 11h07
  5. Passage valeur en dur à un sous-rapport
    Par v1nce dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 02/02/2007, 00h56

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