Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai une DW grid pour laquelle la requête est de la forme :
SELECT COL1, COL2, COL3 FROM...
Dans la liste des colonnes affichées, je ne conserve que COL1. (COL2 et COL3 ne servent qu'à faire un tri)
Pourtant, quand je fais un export Excel les colonnes COL2 et COL3 apparaissent dans le fichiers (même si je fais le tri au niveau de la requête et non au niveau de la DW).
Cela semble être le comportement normal de PB (puisqu'il fait cela aussi avec les colonnes invisibles)
Y'a-t-il un moyen de contourner cela ?
Hors ligne
en utilisant SaveAsFormattedText() non ?
Hors ligne
malheureusement, je ne peux pas utiliser autre chose que le dw.saveas en Excel car il s'agit de fonctions d'export génériques d'une appli existante
je peux jouer uniquement sur le DWO
Hors ligne
erasorz a écrit:
Pourtant, quand je fais un export Excel les colonnes COL2 et COL3 apparaissent dans le fichiers (même si je fais le tri au niveau de la requête et non au niveau de la DW).
ça veut dire que tu fais un modify de DataWindow.Table.Select ?
en tout cas moi j'ai réussi à n'exporter que COL1 en faisant ça MAIS AUSSI en relançant un retrieve() après le modify sinon ça ne fonctionne pas.
à mon avis le SaveAs() prends ce qu'il y a dans le primary buffer, dont le contenu n'est pas modifié après le modify de DataWindow.Table.Select (logique) par contre le retrieve() après le modify mets à jour le primary buffer et donc les données sauvées après.
voilà une solution, à voir si c'est applicable dans ton cas.
Hors ligne
et non
erasorz a écrit:
je peux jouer uniquement sur le DWO
pas de powerscript...
rincevent a écrit:
ça veut dire que tu fais un modify de DataWindow.Table.Select ?
non tout simplement je supprime les dwo control de COL2 et COL3
je fais un tri via ORDER BY dans la requête SQL directement (pour ne pas avoir d'appel à COL2 et COL3 dans le sort de la DW)
BINGO
c'est un peu sale, mais en supprimant les définitions des colonnes COL2 et COL3 dans l'edit source ça fonctionne
Hors ligne
Salut,
PB exporte automatiquement toutes les colonnes de ton resultset. Si tu effectue ton tri au niveau de ta requête tu n'es pas obligé de mettre les colonnes 2 et 3 dans ton select et donc elles ne seront pas dans ton saveas.
Sinon le seul moyen que je vois c'est de faire des export XML sachant que excel est capabe aujourdh'ui d'ouvrir des fichiers XML.
Au niveau de la sortie XML on peut vraiment choisir les colonnes que l'on veut la 1er , la 3ème et la dixième par exemple et celà se définit dans la datawindow. non par powerscript
Cdt
Yanis
Hors ligne
Yanis a écrit:
Si tu effectue ton tri au niveau de ta requête tu n'es pas obligé de mettre les colonnes 2 et 3 dans ton select et donc elles ne seront pas dans ton saveas.
Pour trier sur COL2 et COL3 il faut quand même qu'elles apparaissent dans le select...
Hors ligne
Salut,
Non il n'est pas nécessaire d'avoir les colonnes dans le select pour mettre un <order by> sur des colonnes. Sauf si tu as un SGBD spécial que je ne connais pas et qui n'est pas conforme aux normes en vigueurs
Cdt
Yanis
Hors ligne
Oui, mais là il s'agit de formules et non de réelles colonnes.
Mais sur cette piste, j'arrive à m'en sortir en utilisant un niveau de SELECT en plus qui me remonte les formules du SELECT imbriqué en tant que colonnes du SELECT principal.
SGBDR : Oracle 10
Hors ligne