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

Développement SQL Server Discussion :

Erreur La Variable doit être déclarée


Sujet :

Développement SQL Server

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    683
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 683
    Points : 237
    Points
    237
    Par défaut Erreur La Variable doit être déclarée
    Bonjour et bonnes fêtes à tous les courageux qui bossent en ce moment.

    J'utilise le logiciel Business Objects (B.O) dans lequel je peux récupérer sous format SQL, la requête qui est dans un état.

    Je souhaite l'utiliser sous SQL 2000 sur une base de données. Mon pb est que sur B.O., lorsque je lance mon état, j'ai une sorte d'inputbox qui s'ouvre et me demande la période à prendre en compte.

    Sous SQL 2000, l'analyseur de requête m'affiche l'erreur :
    Serveur*: Msg 137, Niveau 15, État 2, Ligne 38
    La variable '@Prompt' doit être déclarée.
    C'est donc ma ligne en rouge qui pose pb. Mais je ne sais pas comment je peux la remplacer par :
    - soit une valeur venant d'une de mes tables
    - soit avoir un inputbox me demandant de saisir la valeur (ce serait l'idéal pour moi)
    Sauriez-vous me guider ?

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    SELECT
      dbo.DP_TIERS.TI_NUM+' - '+dbo.DP_TIERS.TI_INTITULE,
      dbo.DP_ECRITC.EC_CGNUM,
      sum(dbo_DP_ECRITC2.EC_ECMONTANT),
      dbo.DP_ECRITC.EC_ECECHEANCE,
      dbo.DP_ECRITC.EC_TYPEANEW,
      dbo.DP_ECRITC.EC_TYPEECRITU,
      dbo.DP_ECRITC.EC_TACODE,
      dbo.DP_ECRITC.EC_ECRAPPEL,
      dbo.DP_ECRITC.EC_ECPOINT,
      dbo.DP_ECRITC.EC_ECLETTRE,
      dbo.DP_ECRITC.EC_ECLETTRAGE,
      sum(abs(dbo_DP_ECRITC2.EC_ECMONTANT)),
      dbo.DP_ECRITC.EC_ECSENS,
      dbo.DP_ECRITC.EC_ECTRESOPIECE,
      dbo.DP_ECRITC.EC_JONUM,
      dbo.DP_ECRITC.EC_ECRTYPE,
      dbo.DP_ECRITC.EC_ECPARITE,
      dbo.DP_ECRITC.EC_ECQUANTITE,
      dbo.DP_ECRITC.EC_ECPOINTAGE,
      dbo.DP_ECRITC.EC_ECDATE,
      dbo.DP_TIERS.TI_NUM,
      dbo.DP_TIERS.TI_INTITULE,
      dbo.DP_ECRITC.EC_ECPIECE,
      dbo.DP_TIERS.TI_STAT03
    FROM
      dbo.DP_TIERS,
      dbo.DP_ECRITC,
      dbo.DP_ECRITC  dbo_DP_ECRITC2,
      dbo.DP_EXSOCIAL_ECRITURES,
      dbo.F_COMPTEG
    WHERE
      ( dbo.DP_ECRITC.EC_CGNUM=dbo.F_COMPTEG.CG_Num  )
      AND  ( dbo.DP_ECRITC.EC_PK=dbo.DP_EXSOCIAL_ECRITURES.REPERE  )
      AND  ( dbo.DP_TIERS.TI_NUM=dbo.DP_ECRITC.EC_CTNUM  )
      AND  ( dbo.DP_ECRITC.EC_PK=dbo_DP_ECRITC2.EC_PK  )
      AND  (
      ( dbo.DP_EXSOCIAL_ECRITURES.EX=@Prompt ('Indiquez un exercice social ?', 'A', 'Période\Exercice Social', MONO, CONSTRAINED)  )
      AND  (dbo.DP_ECRITC.EC_ECECHEANCE  IS NULL  
      OR   dbo.DP_ECRITC.EC_ECECHEANCE  IS NOT NULL  )
      AND  dbo.DP_ECRITC.EC_ECLETTRE  =  'NON'
      AND  ( dbo.F_COMPTEG.N_Nature=1  )
      AND  dbo.DP_ECRITC.EC_CGNUM  =  '41100000'
      )
    GROUP BY
      dbo.DP_TIERS.TI_NUM+' - '+dbo.DP_TIERS.TI_INTITULE, 
      dbo.DP_ECRITC.EC_CGNUM, 
      dbo.DP_ECRITC.EC_ECECHEANCE, 
      dbo.DP_ECRITC.EC_TYPEANEW, 
      dbo.DP_ECRITC.EC_TYPEECRITU, 
      dbo.DP_ECRITC.EC_TACODE, 
      dbo.DP_ECRITC.EC_ECRAPPEL, 
      dbo.DP_ECRITC.EC_ECPOINT, 
      dbo.DP_ECRITC.EC_ECLETTRE, 
      dbo.DP_ECRITC.EC_ECLETTRAGE, 
      dbo.DP_ECRITC.EC_ECSENS, 
      dbo.DP_ECRITC.EC_ECTRESOPIECE, 
      dbo.DP_ECRITC.EC_JONUM, 
      dbo.DP_ECRITC.EC_ECRTYPE, 
      dbo.DP_ECRITC.EC_ECPARITE, 
      dbo.DP_ECRITC.EC_ECQUANTITE, 
      dbo.DP_ECRITC.EC_ECPOINTAGE, 
      dbo.DP_ECRITC.EC_ECDATE, 
      dbo.DP_TIERS.TI_NUM, 
      dbo.DP_TIERS.TI_INTITULE, 
      dbo.DP_ECRITC.EC_ECPIECE, 
      dbo.DP_TIERS.TI_STAT03

    Merci à tous
    Thibault

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 42
    Points
    42
    Par défaut
    Bonjour,

    Je ne sais sous quelle version de BO tu travailles mais normalement tu dois pouvoir créer un champ de type paramètre pour faire ce que tu souhaites.

    En effet, à l'affichage de ton état, tu auras une "popup" te permettant de saisir une valeur.

    Ce champ peut être réutilisé dans ton état.

Discussions similaires

  1. Erreur : La variable scalaire "@variable" doit être déclarée
    Par oliviers92 dans le forum Développement
    Réponses: 6
    Dernier message: 24/09/2013, 23h17
  2. Erreur La variable scalaire "@var" doit être déclarée.
    Par sawnet dans le forum Développement
    Réponses: 1
    Dernier message: 21/11/2012, 10h40
  3. Procédure stockée : la variable scalaire doit être déclarée
    Par joanita_lo dans le forum Développement
    Réponses: 7
    Dernier message: 21/08/2012, 08h59
  4. [Débutant] La variable scalaire "" doit être déclarée.
    Par _Tido_ dans le forum ASP.NET
    Réponses: 1
    Dernier message: 01/03/2012, 13h22
  5. Réponses: 2
    Dernier message: 31/05/2011, 12h12

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