Pas de problème (pb), que du PowerBuilder (PB) ^^

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 13-12-2010 18:33:49

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

[RESOLU] Comment savoir les noms des colonnes

Bonsoir,

Comment le titre indique, je voulais savoir comment connaitre les différents nom des colonnes d'un rapport.

Exemple :
Soit, j'ai 10 colonnes avec des computes field. je voulais savoir le nom de ces 10 colonnes.
Les colonnes se trouvent au niveau d'une groupe de la datwindow et pas dans le detail.

Merci d'avance !

Dernière modification par mattdamon (14-12-2010 09:13:33)

Hors ligne

 

#2 13-12-2010 21:26:02

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 708
Pépites: 11,303
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Comment savoir les noms des colonnes

Si tu cherches des colonnes, parcours les via un code comme celui là :

Code: pb

datastore uo_ds
uo_ds = create datastore
uo_ds.dataobject = "dw_dummy_grp"
long i, cols
string ls_columns[]
cols = long( uo_ds.describe("datawindow.column.count") )
for i = 1 to cols
  //pour une colonne dans le header du groupe 1
  if uo_ds.describe("#"+string(i)+".band") = "header.1" then
      ls_columns[upperbound(ls_columns[])+1] = uo_ds.describe("#"+string(i)+".name")
  end if
next

Sinon, il y a aussi :

Code: pb

//pour un compute dans le header du groupe 1
string ls_objects, ls_ctrl, ls_computes[]
ls_objects = uo_ds.describe("DataWindow.Objects") + "~t"  //ne pas louper le dernier(ni coder deux fois)
i = 1
long j
do
  j = i
  i = pos(ls_objects, "~t", j+1)
  if i > 0 then
    ls_ctrl = mid(ls_objects, j, i - j)
    if uo_ds.describe( ls_ctrl+".band") = "header.1" &
      and uo_ds.describe( ls_ctrl+".type") = "compute" then
      ls_computes[upperbound(ls_computes[])+1] = ls_ctrl
    end if
  end if
loop while i > 0

destroy uo_ds

Dernière modification par xlat (13-12-2010 21:28:23)


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#3 14-12-2010 09:10:41

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Comment savoir les noms des colonnes

Bonjour,

merci xlat, c'est exactement que je cherche.

Hors ligne

 

#4 10-01-2011 10:58:54

mattdamon  
Le Tuniso-Parisien
Lieu: Livry-Gargan 93190
Date d'inscription: 29-12-2007
Messages: 569
Pépites: 89
Banque: 77,512,666,613,392,940

Re: [RESOLU] Comment savoir les noms des colonnes

Bonjour à tous,

Je reviens une autre fois à ce sujet :

La fonction ci-dessous permet de trouver le nom de la colonne dans la datawindow et pas le nom écrit dans la requete SQL !!!

Code: pb

ls_colonne_name = dw.describe("#"+string(li_num)+".name")


Est-ce qu'il y a t'il un moyen de savoir le nom écrit dans la requete de la datawindow.

Merci d'avance les pbadonfeurs

Hors ligne

 

#5 10-01-2011 11:42:21

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

Re: [RESOLU] Comment savoir les noms des colonnes

column.dbname
pour les "vraies" colonnes
peut être préfixé par le nom de la table si la requête en contient plusieurs


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

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22