PB à toute heure et à tout moment. (à parcourir avec modération)

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 25-06-2007 14:54:31

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

[RESOLU] Lier une DataWindow à un OLEControl

Re-re-bonjour,

Oui je sais j'avais dit que je viendrais plus mais bon...

Je vous explique mon problème:

Tout part d'une DataWindow banale, ensuite je l'exporte dans un fichier Excel (grace en partie à vous d'ailleurs ) et dans une autre Window je lie un OLEControl à ce fichier Excel.

Ma question : Y a t'il un moyen de faire ça sans avoir à générer le fichier Excel ?

Je sais pas si je suis bien clair mais hésitez pas à poser des questions!

Dernière modification par Mr Pink Eyes (26-06-2007 08:40:47)


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#2 25-06-2007 14:58:18

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

Re: [RESOLU] Lier une DataWindow à un OLEControl

tu utilises un ole excel ?
et tu veux ouvrir une feuille directement avec des données d'une datawindow ?


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

Hors ligne

 

#3 25-06-2007 14:59:51

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Lier une DataWindow à un OLEControl

Exactement! Mais sans avoir à créer physiquement de fichier .xls


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#4 25-06-2007 15:01:14

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

Re: [RESOLU] Lier une DataWindow à un OLEControl


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

Hors ligne

 

#5 25-06-2007 15:04:30

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Lier une DataWindow à un OLEControl

bon je me plonge dedans! Mais on dirait que cela crée le fichier non ?


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#6 26-06-2007 05:35:48

inferni  
Membre Geek
Lieu: Orléans
Date d'inscription: 28-02-2007
Messages: 52
Pépites: 49
Banque: 2,337,704,263,781

Re: [RESOLU] Lier une DataWindow à un OLEControl

je comprends pas bien à quoi te sert la deuxième window ??? A afficher ce que tu avais dans ta première datawindow ?
Parce que si c'est le cas c'est effectivement inutile de passer par un fichier excel ...

Hors ligne

 

#7 26-06-2007 07:44:09

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Lier une DataWindow à un OLEControl

inferni a écrit:

je comprends pas bien à quoi te sert la deuxième window ??? A afficher ce que tu avais dans ta première datawindow ?
Parce que si c'est le cas c'est effectivement inutile de passer par un fichier excel ...

Les utilisateurs du logiciel veulent pouvoir faire un copier/coller des résultats de la DW. Je pensais faire un export tout simple au début mais avec le système de serveur, l'appli n'a pas les droits pour accéder aux lecteurs des utilisateurs. Du coup j'affiche le résultat sous forme de fiche excel et ils peuvent faire leur copier/coller.


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#8 26-06-2007 08:12:23

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Lier une DataWindow à un OLEControl

Bon j'ai un peu de mal à comprendre la portion de code suivante :

Code: pb

//  Open the excel file 
lo_Excel.Application.Workbooks.Open ( ls_destination ) 
lo_Workbook = lo_Excel.Application.ActiveWorkbook 
lo_Sheet = lo_Excel.Application.ActiveSheet 


à quoi correspond ls_destination ? une string locale mais qui représente quoi ?

D'autre part je ne vois pas où relier ma DW avec le OLEObject.


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#9 26-06-2007 08:40:17

Mr Pink Eyes  
Power Excel
Award: bf
Lieu: Helsinki
Date d'inscription: 14-06-2007
Messages: 226
Pépites: 10,800
Banque: 24,007,877,677,213

Re: [RESOLU] Lier une DataWindow à un OLEControl

J'ai finalement réussi à m'en sortir en m'appuyant sur un code trouvé sur le site de sybase. Si ça interresse du monde :

Code: pb

long numcols , numrows , c, r
OLEObject xlapp , xlsub
int ret

// Set the # of columns and rows to process
// Currently Set to copy the entire DW

numcols = long(dw_1.Object.DataWindow.Column.Count)
numrows = dw_1.RowCount()

// Create the oleobject variable xlapp
xlApp = Create OLEObject

// Connect to Excel and check the return code
ret = xlApp.ConnectToNewObject( "Excel.Sheet" )
if ret < 0 then
  MessageBox("La connection à Excel a échoué !",string(ret))
return
end if

// Open a particular Excel file
//xlApp.Application.Workbooks.Open("k:\test-bruno.xls") //,false,true
// Make Excel visible
xlApp.Application.Visible = true

// Resolve the Excel reference once
// This technique shortens the script and improves performance
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]

// Loop thru the Datawindow and Excel sheet
// The for/next loop copies all rows for each column
For c = 1 to numcols
For r = 1 to numrows
xlsub.cells[r,c] = dw_1.object.data[r,c]

Next
Next

// Save opened file
//xlApp.Application.Activeworkbook.Save()

// SaveAs a different filename
//xlApp.Application.Activeworkbook.SaveAs("c:\file2.xls")

// clean up
messagebox("Fermeture du document","Avez-vous fini de vous servir du document ?")
xlApp.DisConnectObject()
Destroy xlapp


Voilà! Et encore merci à tous pour votre écoute!


http://www.blagoticone.com/avatar/animes/017.gif

Hors ligne

 

#10 26-06-2007 08:50:36

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

Re: [RESOLU] Lier une DataWindow à un OLEControl

merci à toi et à ta tenacité


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