Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 19-04-2013 08:01:24

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

[RESOLU] Filtrage report dans DWo

bonjour,

dans une datawindow dont le dataobject est un freeform, j'ai insérer un report object que j'ai relier à un autre DWo de type label.
problème: un retrieve m'affiche toutes les lignes du report et du dataobject mais une fois que je filtre la datawindow le report disparaît au lieu d'etre filtrer

help please

Dernière modification par kocaine (19-04-2013 13:35:14)

Hors ligne

 

#2 19-04-2013 09:06:45

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Filtrage report dans DWo

bonjour,

au lieu de filtrer, pourquoi ne pas faire le retrieve sur la valeur ?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 19-04-2013 09:38:31

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

comment passer au retrieve l'argument? avec le retrieve arguments?
jusqu'ici la seule utilisation que j'ai faite de retrive c'est dw_mydw.retrieve()

Hors ligne

 

#4 19-04-2013 10:00:31

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Filtrage report dans DWo

dw.retrieve( ton_argument )

et dans le dataobject tu définis un argument et tu l'utilises dans la requête : WHERE ta_colonne = ton_argument (par exemple)


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 19-04-2013 10:07:02

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

Dans le datawindow object j'ai ajouter un retrieve argument de type "number" dont le nom est "id" (le nom de ma colone)
et j'ai modifier le SELECT en ajoutant where "nom_de_ma_table"."id"=:id
après dans mon event (selection d'un row) j'ai mis dw_mydw.retrieve(dw_1.getitemnumber(currentrow,"id"))

mais le retrieve continue à afficher toutes les lignes de ma table

Hors ligne

 

#6 19-04-2013 11:00:43

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Filtrage report dans DWo

il faut passer l'argument au report intégré dans la première DW et ajouter dans le where du report :

http://img11.imageshack.us/img11/8169/argl.png


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#7 19-04-2013 11:42:49

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

Merci beaucoup ça marche impec.

Hors ligne

 

#8 19-04-2013 12:00:03

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

kocaine a écrit:

Merci beaucoup ça marche impec.

N'oublie pas d'éditer ton premier message et d'ajouter [RESOLU] dans le titre alors.


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#9 19-04-2013 12:02:26

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

par contre maintenant je ne peux plus faire un retrieve() sans arguments sur la DW. il me demande de specifier le "retrieval argument"

Hors ligne

 

#10 19-04-2013 12:05:29

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Filtrage report dans DWo

kocaine a écrit:

par contre maintenant je ne peux plus faire un retrieve() sans arguments sur la DW. il me demande de specifier le "retrieval argument"

Ah ben oui, si tu définis un argument dans la datawindow, soit tu le fournis lors du retrieve, soit il te le demande. Mais il en a besoin pour retrouver les données.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#11 19-04-2013 12:10:54

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

comment faire alors pour avoir un retrieve avec argument mais qui est capable de de faire un retrieve de toutes les lignes si besoin.
pck du coup ca ne fait que inverser mon probleme avant je pouvait pas retrieve une seule ligne et maintenant je ne peux pas retrieve toutes les lignes, alors que mon but etait d'avoir les deux

Hors ligne

 

#12 19-04-2013 12:18:43

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

kocaine a écrit:

comment faire alors pour avoir un retrieve avec argument mais qui est capable de de faire un retrieve de toutes les lignes si besoin.
pck du coup ca ne fait que inverser mon probleme avant je pouvait pas retrieve une seule ligne et maintenant je ne peux pas retrieve toutes les lignes, alors que mon but etait d'avoir les deux

je suppose que tu as maintenant dans la where clause de  ton SQL qqchose du genre :

And ( ma_table.id_op = :as_id_op )

tu remplaces ça par

And ( ma_table.id_op = :as_id_op OR is null :as_id_op )

Quand tu veux une ligne en particulier tu passes l'id de la ligne dans as_id_op
Quand tu veux toutes les lignes tu passes un as_id_op mis à NULL auparavant (SetNull(as_id_op))


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#13 19-04-2013 12:33:44

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

du coup quand je passe un argument mis à null il retrieve aucune ligne alors que le but et de faire un retrieve complet de la table

Hors ligne

 

#14 19-04-2013 12:45:31

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Filtrage report dans DWo

Et avec un "where mon_champ like :argument" ?

Si tu cherches quelque chose tu peux remplir argument = "truc%"
et quand tu veux tout tu passes "%"

évidemment ça n'est valable que pour un champ texte.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#15 19-04-2013 12:56:37

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

malheureusement pour moi l'argument est numerique

mais en mettant un retrieve() sans argument il me sort la fenêtre pour mettre une valeur a l'argument, si je met ok sans mettre de valeur il fait bien le retrieve complet. Comment coder le fait que je met rien dans "value" sachant que quand je met "null" il retrieve rien

Hors ligne

 

#16 19-04-2013 13:01:11

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

kocaine a écrit:

du coup quand je passe un argument mis à null il retrieve aucune ligne alors que le but et de faire un retrieve complet de la table

gné ?

si tu passes null alors la partie "is null :as_id_op"  de  "And ( ma_table.id_op = :as_id_op OR is null :as_id_op ) " rends TRUE donc tu récupère toutes tes lignes

la syntaxe de check que la variable est Null dépends de ton SGBD tu dois peut être utiliser une autre synatxe, faut que tu fasses un petit effort aussi, on va pas venir tout coder à ta place...

kocaine a écrit:

Comment coder le fait que je met rien dans "value" sachant que quand je met "null" il retrieve rien

j'ai indiqué comment le faire dans mon précédent message... ( SetNull(as_id_op ) )

Dernière modification par rincevent (19-04-2013 13:04:29)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#17 19-04-2013 13:11:54

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

c'est toi qui lis pas attentivement:
1) je code et je fais ma partie d'effort et je pose les questions qu’après avoir tester les réponses.
2) le :as_id_op is null (et pas is null :as_id_op,sinon error se syntax) ne récupère pas toutes les lignes sinon je les aurai vu (comme j'ai dis je fais les tests avant de revenir sur le topic)
3) j'avais bien vu ton setnull(as_id_op) met cette fonction retur un null alors que ma question était sur "aucun argument rentré et pas un argument null" (relis attentivement )
4) ça sert a rien les commentaire "on va pas venir tout coder à ta place et le reste, si tu veux aider ok sinon laisse ceux qui savent le faire


merci à tous pour votre aide

Dernière modification par kocaine (19-04-2013 13:39:32)

Hors ligne

 

#18 19-04-2013 13:16:29

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Filtrage report dans DWo

bon les gars mollo mollo...

si ta DW attend un argument et que tu n'en mets pas tu auras un message
donc la solution préconisée par Rincevent est la bonne : tu passes un argument NULL si tu veux toutes les lignes (en ayant fait un setnull sur la variable)
ce qui va faire que la condition :argument is null soit tout le temps vérifiée et tu auras toutes les lignes

si ça n'est pas le cas c'est qu'il y a un pb


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#19 19-04-2013 13:22:34

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

voila mon select:

Code: sql

SELECT "table"."id","table"."name" FROM "table" WHERE "table"."id"=:id or :id is null

et voila mon retrieve:

Code: pb

integer li_tmp
dw_freeform.settransobject(SQLCA)
dw_freeform.retrieve(SetNull(li_tmp))

je n'ai aucune ligne en réponse !!!!

Dernière modification par kocaine (19-04-2013 13:46:35)

Hors ligne

 

#20 19-04-2013 13:28:16

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Filtrage report dans DWo

en fait il faut faire :

Code: pb

integer li_tmp
SetNull(li_tmp)
dw_freeform.settransobject(SQLCA)
dw_freeform.retrieve(li_tmp)


dans ton code tu fais passer la valeur de retour de SetNull(li_tmp) soit 1 et non pas li_tmp


NB : pour la balise code, ajoute =pb quand c'est du code powerbuilder et =sql quand c'est du SQL. Plus d'infos ici : Coloration des scripts dans les messages


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#21 19-04-2013 13:34:49

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

Great merci

et rincevent

Hors ligne

 

#22 19-04-2013 13:42:12

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Filtrage report dans DWo

de rien, je te laisse corriger les balises code de ton avant dernier message


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#23 19-04-2013 13:48:34

kocaine  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 82
Pépites: 397
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

done

Hors ligne

 

#24 19-04-2013 13:59:10

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: [RESOLU] Filtrage report dans DWo

kocaine a écrit:

c'est toi qui lis pas attentivement:
1) je code et je fais ma partie d'effort et je pose les questions qu’après avoir tester les réponses.
2) le :as_id_op is null (et pas is null :as_id_op,sinon error se syntax) ne récupère pas toutes les lignes sinon je les aurai vu (comme j'ai dis je fais les tests avant de revenir sur le topic)
3) j'avais bien vu ton setnull(as_id_op) met cette fonction retur un null alors que ma question était sur "aucun argument rentré et pas un argument null" (relis attentivement )
4) ça sert a rien les commentaire "on va pas venir tout coder à ta place et le reste, si tu veux aider ok sinon laisse ceux qui savent le faire


merci à tous pour votre aide

C'est tjrs bien de réagir comme ça sur un forum où on viens d'arriver, surtout envers un membres actif et sur le forum depuis des années qui essaye de t'aider, t'es un

Allez, comme je sers à rien avec mes commentaires je m'en vais et je te promets de ne plus jamais intervenir sur aucune de tes questions.

smileydehors


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22