Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Designer
Designer Forum d'entraide Designer (création d'univers, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2011, 09h44   #1
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
Par défaut Prompt dans un select

Bonjour,

je voudrais sélectionner les numéros de l'année N-1 et la semaine dont l'année N sera choisie en invite donc je crée un filtre, je mets ce code:
Code :
1
2
3
4
NUMERO IN
(SELECT NUMERO FROM TABLE WHERE  cast(annee AS numeric) = cast(@Prompt('Quelle année?','A','Invite annee\annee,MULTI,FREE,,) as numeric) -1
and semaine = @Prompt('Quelle semaine?','A','Invite semaine\Semaine pub',MULTI,FREE,,)
)
ça m'a l'air pas mal mais j'ai erreur qui est la suivante:
Code :
L'analyse a échoué: Exception: DBD, [sysbase][ODBC Driver][Adaptive server IQ] SYntaxe error near ',' on line 3State:42000
Qqn pourrait-il m'aider svp??
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 09h59   #2
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Bonjour,

Il y'a une erreur dans le 1er prompt :
Il n'y a pas de quote fermante.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 10h57   #3
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
excuse moi je ne comprends pas l'erreur

si je mets sans la quote à la fin, il me met définition incorrecte
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h01   #4
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Oui
On s'est mal compris.
Dans ton code départ, il n'y a pas de code fermante, or, il en fallait une.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h05   #5
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
ahh! c'était une erreur quand j'ai copié le code

mais là j'ai bien toutes les quotes et toujours la même erreur...

Code :
1
2
3
4
NUMERO IN
(SELECT NUMERO FROM TABLE WHERE  cast(annee AS numeric) = cast(@Prompt('Quelle année?','A','Invite annee\annee',MULTI,FREE,,) AS numeric) -1
AND semaine = @Prompt('Quelle semaine?','A','Invite semaine\Semaine pub',MULTI,FREE,,)
)
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h17   #6
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
C'est exactement ce code là que tu as dans la clause Where de ton filtre?
As tu essayé de décomposer ton prompt pour savoir d'où vient l'erreur ?

1/
Code :
cast(annee AS numeric) = cast(@Prompt('Quelle année?','A','Invite annee\annee',MULTI,FREE,,) AS numeric) -1
2/
Code :
1
2
semaine = @Prompt('Quelle semaine?','A','Invite semaine\Semaine pub',MULTI,FREE,,)
)
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h21   #7
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
Oui c'est celui-ci, l'erreur intervient juste après la parenthèse
Code :
WHERE  cast(annee AS numeric) = cast(@Prompt(
je ne comprends pas pourquoi
pareil si je fais juste avec semaine

donc le problème vient du prompt?
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h23   #8
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Pour moi la syntaxe du prompt est bonne.
Il doit y avoir un problème au niveau de la conversion.
Peux tu essayer :
Code :
annee = @Prompt('Quelle année?','A','Invite annee\annee',MULTI,FREE,,)
Pour voir s'il l'accepte ?
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h25   #9
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
sans les cast j'ai la même erreur
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h30   #10
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Il y'a une erreur oui.
Maintenant, je ne sais pas si c'est ca qui provoque ton erreur car, syntaxiquement c'est bon :
Code :
annee = @Prompt('Quelle année?','A','Invite annee\annee',MULTI,FREE,,)
= MULTI, je ne suis pas sur qu'il aime, idem pour la semaine.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h36   #11
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
si je mets MONO à la place ou rien du tout, j'ai la même erreur

je ne sais pas quoi mettre à la place...

Edit...

si je ne mets rien (espace vide), il me met une erreur au niveau des parenthèses des cast et si j'enlève les cast il me dit qu'il ne peut convertir...

donc il me faut les cast... grrrrrrrrr
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h42   #12
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
avec juste "semaine" ça marche!!

donc il faut juste que je trouve le moyen de convertir l'année en numeric et que ça lui plaise
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h44   #13
Invité régulier
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 6
Points : 6
tu as ça est ça ne fonctionne pas :

Citation:
annee = @Prompt('Quelle année?','A','Invite annee\annee',MULTI,FREE,,)
Puisque tu utilise MULTI, règle SQL est pour une sélection multiple tu mets IN et pas =

Citation:
annee IN @Prompt('Quelle année?','A','Invite annee\annee',MULTI,FREE,,)

ca devrait fonctionner maintenant ^^
sidewolf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h51   #14
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Ca ne changera rien de mettre IN pour l'erreur du code.
Il y'aura une erreur au rafraichissement. C'est ce que je disais, c'est que BO ne voit pas d'erreur de syntaxe avec Objet = MULTI. C'est pour ca qu'il ne râle pas pour semaine.

Y'a t'il en effet un problème de format ?
Lorsque tu enlèves la LOV du prompt, il râle toujours ?
Code :
annee = @Prompt('Quelle année?','A',,MULTI,FREE,,)
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h57   #15
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
Code :
1
2
3
4
5
NUMERO IN
(
SELECT NUMERO FROM TABLE WHERE annee  IN @Prompt('Quelle année?','A',,MULTI,FREE,,)
AND
semaine IN @Prompt('Quelle semaine?','A',,MULTI,FREE,,))
Il ne râle plus... mais je peux faire ça? ce n'est pas obligatoire la LOV?

et le résultat sera tout de même bon?

Par contre j'ai besoin de dire que c'est l'année précédente pour la même semaine mais il n'aime pas le "-1" après le prompt
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 11h58   #16
Invité régulier
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 6
Points : 6
Deja en mettant le In à la place du = (dans le cas de l'option multi) il évitera de une lourde faute, et l'erreur sera identique (ne pas se fier au erreur annoncé par designer)

et pour la LOV, il faut mettre juste l'objet sans la classe
sidewolf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 12h02   #17
Invité régulier
 
Inscription : juin 2009
Messages : 13
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 13
Points : 6
Points : 6
Citation:
Par contre j'ai besoin de dire que c'est l'année précédente pour la même semaine mais il n'aime pas le "-1" après le prompt
Un peu plus délicat pour ça, car -1 est sous entendu -1 jour, et pas -1 an ... j'ai déjà eu un cas similaire, il fallait également gérer les année bissextiles et la ça devient plus complexe ...
sidewolf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 12h08   #18
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Attention, je vois de belles erreurs

Citation:
et pour la LOV, il faut mettre juste l'objet sans la classe
Une lov se définit par : 'Classe\Objet'. L'objet seul ne suffit pas.

Citation:
Un peu plus délicat pour ça, car -1 est sous entendu -1 jour, et pas -1 an ...
Oui dans le cas d'une date, mais ici, il s'agit d'un objet année. Donc le -1 devrait fonctionner

Citation:
Il ne râle plus... mais je peux faire ça? ce n'est pas obligatoire la LOV?
Une LOV n'est jamais obligatoire dans la définition d'un prompt. Il offre simplement une liste de valeur à l'utilisateur lorsqu'il rafraichit l'état. Si on ne met pas de liste de valeurs, c'est à l'utilisateur de faire attention à la valeur qu'il entrera lors du rafraichissement. Pour des années, je pense que c'est assez dur de se tromper

Pour le -1, il ne l'aime pas, probablement car ton objet année n'est pas au format numérique.
Réessaye d'intégrer ton cast(objet as numeric) dans ton prompt.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 13h36   #19
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 276
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 276
Points : 29
Points : 29
Code :
WHERE cast(annee AS numeric)  IN cast(@Prompt('Quelle année?','A','Invite annee\année pub',MULTI,FREE,,) )AS numeric)-1
il me dit qu'il y a un pbm avec le cast
nawal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2011, 14h13   #20
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Héhé, tu as remis la liste de valeurs
Pas sur que ce soit ca qui fasse planter mais bon
Quel est le cast qui plante ?
Pourquoi tu ne mets pas le type numeric directement dans le prompt ?
'N' à la place de 'A' ?
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h21.


 
 
 
 
Partenaires

Hébergement Web