Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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 20-04-2007 11:58:22

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

[RESOLU] Change sqlselect's nested report

salut!

avec le script g peux tout facilement modifier le sqlselect par GetSqlSelect and SetSqlSelect.

et je voudrais svp modifier  sqlselect d'un Nested Report?? kelk1 ki peux m'aider?

and also if  i want modify DataObject  for Nested Report!!

MERCI

Hors ligne

 

#2 20-04-2007 14:12:13

Doctor Z  
Moderador
Award: PanchoeNacho
Lieu: Vale Figueira (Lisbonne)
Date d'inscription: 30-05-2006
Messages: 756
Pépites: 1,003,082
Banque: 877,135,234,297,804

Re: [RESOLU] Change sqlselect's nested report

Bonjour,

Pourrais-te formuler ta demande de manière plus intelligible ? (Cf langage SMS ...)
Merci.


http://www.userbars.com/i/543606.gif
Olivença, l'oubliée
Si tu es alentejane, que Dieu te bénisses, si tu ne l'es pas, que Dieu te pardonnes.

Hors ligne

 

#3 20-04-2007 15:07:05

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

Salut
Excuse DoctorZ

How can I change the sql statment of nested dw in composite report?

i want to add the string  in where clause. For example the following script :

Code: pb

string li_clause

li_clause= " and exercice = 2007"

li_mysql = dw_nested1.getsqlselect()

li_mysql = li_mysql + li_clause

dw_nested1.SeSqlSelect(li_mysql)
.......


I thank it's clear!!

pardon je dois ecrire en francais mais ben ..g m'excuse!

Hors ligne

 

#4 20-04-2007 15:22:23

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

Re: [RESOLU] Change sqlselect's nested report

salut, je ne sais pas si on assure le support en anglais,

pour info pour dans tes messages : pour du code PB utilise la balise [ code= pb ], explications ici, je le modifie ce coup-ci

pour ta question : pourquoi ne pas faire passer ton paramètre exercice en retrieval argument au lieu de changer le script SQL de la DW ?


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

Hors ligne

 

#5 20-04-2007 16:38:34

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

ca ce n'est qu'un example..
la contruction d'une string (where clause) est le résultat d'une concatenation de X champ selon le choix de l'utilisateur le choix ou il ya un nombre X de AND et OR , XOR ....et sur 31 champs
donc les argumnts n'est pas practice!!
MERCI

Hors ligne

 

#6 20-04-2007 17:02:27

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

Re: [RESOLU] Change sqlselect's nested report

comment tu récupères ton dw_nested1 dans ton script ?

en principe avec un GetChild ça devrait marcher dans un nested report de composite (et pas dans un nested de dw):

Code: pb

DataWindowChild ldw_Child

dw_composite.Getchild("nested_report", ldw_Child)
ldw_Child.SetTransObject(sqlca)
ldw_Child.SetSqlSelect() 

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

Hors ligne

 

#7 23-04-2007 12:10:34

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

Salut
oui exactement ca, j'ai utilisé GetChild

Hors ligne

 

#8 23-04-2007 12:32:01

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

Re: [RESOLU] Change sqlselect's nested report

azuldev a écrit:

oui exactement ca, j'ai utilisé GetChild

et ça ne marche pas ? il y a une erreur, un code de retour ?

ta dw principale est composite ou "normale" (grid,tab,form,...) ?


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

Hors ligne

 

#9 23-04-2007 13:17:23

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

Peut etre le probleme c'est au niveau syntax.

voila example :

la syntax au niveau de nested report sous forme : "Select .. FROM TABLE1 where live = 0"

alors le code est

Code: pb

datawindowchild li_child
integer li_ret

//li_sql = li_child.GetSQLselect() est récuperé dans l'event Open de window

li_ret = dw_parent.getchild('dw_nested1',li_child)

li_child.settransobject(sqlca)
li_child.SetSQLselect(li_sql + as_clause )

li_child.retrieve()


et voila l'erreur
http://img264.imageshack.us/img264/4821/fig10aq2.gif

puis je test avec la syntax au niveau de nested report sous forme : "Select .. FROM TABLE1 "
sans la clause Where et je l'ajoute en script :

Code: pb

as_clause = as_clause + " AND live = 0"


et ca marche mais je prefere la premiere syntax.

Dernière modification par azuldev (23-04-2007 13:37:02)

Hors ligne

 

#10 23-04-2007 13:25:50

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Change sqlselect's nested report

Bonjour azuldev,

Pourrais-tu enregistrer tes images en format gif ou Jpeg: ce sera moins lourd et lisible sur tout type de machines (Le format bmp est propriétaire Windows).
Je corriges cette fois-ci

Merci.

Sinon, qu'as-tu dans tes variables li_sql et as_clause?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#11 23-04-2007 13:41:43

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

Sorry, d'accord!
li_sql = li_child.GetSQLselect().

as_clause is the string that i added to the clause Where by

Code: pb

li_sql = li_sql + as_clause.

MERCI

Dernière modification par azuldev (23-04-2007 13:47:29)

Hors ligne

 

#12 23-04-2007 13:48:50

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Change sqlselect's nested report

Je me suis mal exprimé:
Quand tu exécutes PB en mode debug, que récupères-tu comme chaînes de caractères dans tes variables (Je voudrais voir s'il y a effectivement une erreur de syntaxe SQL)?

Au fait GetSQLSelect() retourne une string, pas un integer: li_sql est bien du type string?


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#13 23-04-2007 14:02:41

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

oui li_sql déclaré string

regarde si je met " AND live=0"  dans le sql statement (Data Source) de nested report  ne marche pas
et si je le fais avec le script ca marche!! ca veut dire que la syntax initiale (li_sql) est correcte et la string auxiliere (as_clause) l'est aussi ..
MERCI

Hors ligne

 

#14 23-04-2007 14:04:49

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: [RESOLU] Change sqlselect's nested report

hello,
c'est possible de mettre tout le script ?
ainsi que le contenu de ton sql ?  (histoire de gagner du temps)


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#15 23-04-2007 14:31:57

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

Code: pb

integer i, li_ret,li_c,li_year
string is_type,li_type,li_ligende

for i= 1 to integer(dw_search.Object.DataWindow.Column.Count)

if trim(string(dw_search.object.data[dw_search.getrow(),i])) <> '' and not isnull(dw_search.object.data[dw_search.getrow(),i]) then
  is_type = dw_search.describe("#" + string(i) + '.Coltype')
  li_c=li_c + 1
  if mida(is_type,1,3) = 'cha' then 
    li_type = "'"
  end if
    as_clause =as_clause + " and " + dw_search.Describe("#" + string(i) + ".dbName") + "="+ li_type + string(dw_search.object.data[dw_search.getrow(),i]) + li_type
    li_ligende = li_ligende + string(dw_search.object.data[dw_search.getrow(),i]) + " ~n "
end if
next

as_clause =as_clause + " and location.exercice=" + string(li_year)

datawindowchild li_child
li_ret = dw_parent.getchild('dw_nested1',li_child)
li_child.settransobject(sqlca)
li_child.SetSQLselect(li_sql + as_clause ) //+ "and ( ( location.live = 0 ) )" 
li_child.retrieve()


Merci

Hors ligne

 

#16 23-04-2007 14:42:17

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: [RESOLU] Change sqlselect's nested report

tu peux mettre un messagebox sur ton code ?
pour voir le contenu de ta requete.

et nous faire une copie ecran du message affiché ?

Code: pb

integer i, li_ret,li_c,li_year
string is_type,li_type,li_ligende

for i= 1 to integer(dw_search.Object.DataWindow.Column.Count)

if trim(string(dw_search.object.data[dw_search.getrow(),i])) <> '' and not isnull(dw_search.object.data[dw_search.getrow(),i]) then
  is_type = dw_search.describe("#" + string(i) + '.Coltype')
  li_c=li_c + 1
  if mida(is_type,1,3) = 'cha' then 
    li_type = "'"
  end if
    as_clause =as_clause + " and " + dw_search.Describe("#" + string(i) + ".dbName") + "="+ li_type + string(dw_search.object.data[dw_search.getrow(),i]) + li_type
    li_ligende = li_ligende + string(dw_search.object.data[dw_search.getrow(),i]) + " ~n "
end if
next

as_clause =as_clause + " and location.exercice=" + string(li_year)





messagebox("info",li_sql + as_clause )




datawindowchild li_child
li_ret = dw_parent.getchild('dw_nested1',li_child)
li_child.settransobject(sqlca)
li_child.SetSQLselect(li_sql + as_clause ) //+ "and ( ( location.live = 0 ) )" 
li_child.retrieve()

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#17 23-04-2007 15:07:53

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

ya des champs ...???? .... loool
ya aussi l'arabic qui perturbe la syntax.
http://tinfatino.free.fr/test/fig11.gif
Merciii

Dernière modification par azuldev (23-04-2007 15:08:26)

Hors ligne

 

#18 23-04-2007 15:11:22

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

et pour le message d'erreur
http://tinfatino.free.fr/test/fig10.gif

Hors ligne

 

#19 23-04-2007 15:12:29

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: [RESOLU] Change sqlselect's nested report

j'y vois rien

je remets mes lunettes , j'ai mal aux yeux...

ce n'est pas possible de recuperer tout cela dans un string ?
et de mettre sur le site ?

tu fais ca à l'aide du debugger.


sinon, au pire des cas, tu testes, sans l'ajout du clause.
pour voir si ta syntaxe est acceptée ou non.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#20 23-04-2007 15:26:22

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

excuse!!

1) je teste sans clause et ca marche.
2) je teste en ajoutant la totalité de clause via le script ca marche
3) je teste en mettant une partie de clause dans in the sql Statment ("location.live=0") et le reste avec le script (as_clause)  ca marche pas.
bon je detourne le problème: peux je empecher le retrieve du nested report , ca veut dire mettre autoretrieve = false ou une truc comme ca ??
Mercii pour votre patience!

Hors ligne

 

#21 23-04-2007 16:00:25

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: [RESOLU] Change sqlselect's nested report

au fait, c'est quoi ce script, dans le clause where ?   "~"location~".~"sorter       ...
c'est pas lié à cette construction ?

quoi qu'il en soit, c'est lié par rapport à ta construction du clause where.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#22 23-04-2007 16:31:29

azuldev  
Membre Geek
Date d'inscription: 10-04-2007
Messages: 51
Pépites: 227
Banque: 0

Re: [RESOLU] Change sqlselect's nested report

ouiiii
il manque un ")" dans ma construction du clause where ..
Merciiiiiiiiiiiiiiiiiiiiiiii
Avec mes hautes considérations.
RESOLU

Hors ligne

 

#23 23-04-2007 16:34:27

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: [RESOLU] Change sqlselect's nested report

cool, si c'est resolu...


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22