Crear una tabla dinamica con un enlace externo desde fivewin
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Crear una tabla dinamica con un enlace externo desde fivewin
Estimados Colegas:
Necesito crear tabla dinámica desde fivewin directamente con OLE o con alguna clase ya creada con anterioridad, busqué en los foros y hablan de la clase texcel ( texcelscript ), pero los enlaces ya no están disponibles, necesito enganchar el ODBC creado en windows que apunta al servidor de SQL, en donde se encuentra la vista que genera las columnas necesarias.
todo funciona ok, desde el excel directo, siguiendo los pasos que el mismo excel realiza para conectarse al ODBC y seleccionar la vista y decirle que es tabla dimanica, pero la verdad necesito que si existe alguna función o procedimiento que lo haga directamente desde fivewin.
Saludos.
Necesito crear tabla dinámica desde fivewin directamente con OLE o con alguna clase ya creada con anterioridad, busqué en los foros y hablan de la clase texcel ( texcelscript ), pero los enlaces ya no están disponibles, necesito enganchar el ODBC creado en windows que apunta al servidor de SQL, en donde se encuentra la vista que genera las columnas necesarias.
todo funciona ok, desde el excel directo, siguiendo los pasos que el mismo excel realiza para conectarse al ODBC y seleccionar la vista y decirle que es tabla dimanica, pero la verdad necesito que si existe alguna función o procedimiento que lo haga directamente desde fivewin.
Saludos.
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Armando, mira se ayuda:
http://fivewin.com.br/index.php?/topic/24761-importar-planilha-de-excel-com-mais-de-100000-linhas/
http://wiki.fivetechsoft.com/doku.php?id=ole_excel
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=20763
https://github.com/manuelcalerosolis/Gestool/blob/master/prg/Texcelsxh.prg
http://fivewin.com.br/index.php?/topic/24761-importar-planilha-de-excel-com-mais-de-100000-linhas/
http://wiki.fivetechsoft.com/doku.php?id=ole_excel
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=20763
https://github.com/manuelcalerosolis/Gestool/blob/master/prg/Texcelsxh.prg
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:
funcion donde se construye:
Resultado:
![Image](http://i67.tinypic.com/15q5jt0.png)
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
como se usa:
Code: Select all | Expand
STATIC FUNCTION TablaDinamica()
LOCAL Conn, cSql
Conn := "OLEDB;Provider=SQLOLEDB;Data Source=SERVER\SQLEXPRESS;Initial Catalog=VIKING_SYSTEM;User Id='user';Password='admin';"
cSql := "SELECT * FROM dbo.PRUEBA"
// "prueba" es una vista construida específicamente con lo que quiero mostrar en la tabla dinámica con campos calculados y con nombres entendibles para el usuario de excel
ExcelDinamicConstructorSql( Conn, cSql )
return nil
funcion donde se construye:
Code: Select all | Expand
FUNCTION ExcelDinamicConstructorSql( cConnStr, cQuery )
LOCAL oExcel, oWorkbook, oPivotCache, xWin, oTargetRange, oTargetSheet, oPivot
oExcel := CreateObject( "excel.application" )
oExcel:DisplayAlerts := .F.
oExcel:ScreenUpdating := .F.
oWorkbook := oExcel:Workbooks:Add()
oTargetSheet := oWorkbook:Get( 'ActiveSheet' )
oTargetRange := oTargetSheet:range("A4")
oTargetSheet:Cells:Font:Name := "Roboto Cn"
oTargetSheet:Cells:Font:Size := 12
oTargetSheet:Name := "Tabla Dinámica"
oPivotCache := oWorkbook:PivotCaches:Add(2)
oPivotCache:Connection := cConnStr
oPivotCache:Commandtext := cQuery
oPivotCache:CreatePivotTable( oTargetRange, "Tabla Dinámica Pruebas" )
oTargetSheet:Cells( 4, 1 ):Select()
xWin := oExcel:ActiveWindow
oExcel:Visible := .T.
oExcel:DisplayAlerts := .T.
oExcel:ScreenUpdating := .T.
ShowWindow( oExcel:hWnd, 3 )
BringWindowToTop( oExcel:hWnd )
RETURN NIL
Resultado:
![Image](http://i67.tinypic.com/15q5jt0.png)
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Re: Crear una tabla dinamica con un enlace externo desde fivewin
en la cita anterior es como me funciona correctamente
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Armando, como siempre, ofreciendo "detalles" de calidad
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Re: Crear una tabla dinamica con un enlace externo desde fivewin
armando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:Code: Select all | Expand
STATIC FUNCTION TablaDinamica()
LOCAL Conn, cSql
Conn := "OLEDB;Provider=SQLOLEDB;Data Source=SERVER\SQLEXPRESS;Initial Catalog=VIKING_SYSTEM;User Id='user';Password='admin';"
cSql := "SELECT * FROM dbo.PRUEBA"
// "prueba" es una vista construida específicamente con lo que quiero mostrar en la tabla dinámica con campos calculados y con nombres entendibles para el usuario de excel
ExcelDinamicConstructorSql( Conn, cSql )
return nil
funcion donde se construye:Code: Select all | Expand
FUNCTION ExcelDinamicConstructorSql( cConnStr, cQuery )
LOCAL oExcel, oWorkbook, oPivotCache, xWin, oTargetRange, oTargetSheet, oPivot
oExcel := CreateObject( "excel.application" )
oExcel:DisplayAlerts := .F.
oExcel:ScreenUpdating := .F.
oWorkbook := oExcel:Workbooks:Add()
oTargetSheet := oWorkbook:Get( 'ActiveSheet' )
oTargetRange := oTargetSheet:range("A4")
oTargetSheet:Cells:Font:Name := "Roboto Cn"
oTargetSheet:Cells:Font:Size := 12
oTargetSheet:Name := "Tabla Dinámica"
oPivotCache := oWorkbook:PivotCaches:Add(2)
oPivotCache:Connection := cConnStr
oPivotCache:Commandtext := cQuery
oPivotCache:CreatePivotTable( oTargetRange, "Tabla Dinámica Pruebas" )
oTargetSheet:Cells( 4, 1 ):Select()
xWin := oExcel:ActiveWindow
oExcel:Visible := .T.
oExcel:DisplayAlerts := .T.
oExcel:ScreenUpdating := .T.
ShowWindow( oExcel:hWnd, 3 )
BringWindowToTop( oExcel:hWnd )
RETURN NIL
Resultado:
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favor
Gracias
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Re: Crear una tabla dinamica con un enlace externo desde fivewin
artu01 wrote:armando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:Code: Select all | Expand
STATIC FUNCTION TablaDinamica()
LOCAL Conn, cSql
Conn := "OLEDB;Provider=SQLOLEDB;Data Source=SERVER\SQLEXPRESS;Initial Catalog=VIKING_SYSTEM;User Id='user';Password='admin';"
cSql := "SELECT * FROM dbo.PRUEBA"
// "prueba" es una vista construida específicamente con lo que quiero mostrar en la tabla dinámica con campos calculados y con nombres entendibles para el usuario de excel
ExcelDinamicConstructorSql( Conn, cSql )
return nil
funcion donde se construye:Code: Select all | Expand
FUNCTION ExcelDinamicConstructorSql( cConnStr, cQuery )
LOCAL oExcel, oWorkbook, oPivotCache, xWin, oTargetRange, oTargetSheet, oPivot
oExcel := CreateObject( "excel.application" )
oExcel:DisplayAlerts := .F.
oExcel:ScreenUpdating := .F.
oWorkbook := oExcel:Workbooks:Add()
oTargetSheet := oWorkbook:Get( 'ActiveSheet' )
oTargetRange := oTargetSheet:range("A4")
oTargetSheet:Cells:Font:Name := "Roboto Cn"
oTargetSheet:Cells:Font:Size := 12
oTargetSheet:Name := "Tabla Dinámica"
oPivotCache := oWorkbook:PivotCaches:Add(2)
oPivotCache:Connection := cConnStr
oPivotCache:Commandtext := cQuery
oPivotCache:CreatePivotTable( oTargetRange, "Tabla Dinámica Pruebas" )
oTargetSheet:Cells( 4, 1 ):Select()
xWin := oExcel:ActiveWindow
oExcel:Visible := .T.
oExcel:DisplayAlerts := .T.
oExcel:ScreenUpdating := .T.
ShowWindow( oExcel:hWnd, 3 )
BringWindowToTop( oExcel:hWnd )
RETURN NIL
Resultado:
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favor
Gracias
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com
Re: Crear una tabla dinamica con un enlace externo desde fivewin
armando.lagunas wrote:artu01 wrote:armando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:Code: Select all | Expand
STATIC FUNCTION TablaDinamica()
LOCAL Conn, cSql
Conn := "OLEDB;Provider=SQLOLEDB;Data Source=SERVER\SQLEXPRESS;Initial Catalog=VIKING_SYSTEM;User Id='user';Password='admin';"
cSql := "SELECT * FROM dbo.PRUEBA"
// "prueba" es una vista construida específicamente con lo que quiero mostrar en la tabla dinámica con campos calculados y con nombres entendibles para el usuario de excel
ExcelDinamicConstructorSql( Conn, cSql )
return nil
funcion donde se construye:Code: Select all | Expand
FUNCTION ExcelDinamicConstructorSql( cConnStr, cQuery )
LOCAL oExcel, oWorkbook, oPivotCache, xWin, oTargetRange, oTargetSheet, oPivot
oExcel := CreateObject( "excel.application" )
oExcel:DisplayAlerts := .F.
oExcel:ScreenUpdating := .F.
oWorkbook := oExcel:Workbooks:Add()
oTargetSheet := oWorkbook:Get( 'ActiveSheet' )
oTargetRange := oTargetSheet:range("A4")
oTargetSheet:Cells:Font:Name := "Roboto Cn"
oTargetSheet:Cells:Font:Size := 12
oTargetSheet:Name := "Tabla Dinámica"
oPivotCache := oWorkbook:PivotCaches:Add(2)
oPivotCache:Connection := cConnStr
oPivotCache:Commandtext := cQuery
oPivotCache:CreatePivotTable( oTargetRange, "Tabla Dinámica Pruebas" )
oTargetSheet:Cells( 4, 1 ):Select()
xWin := oExcel:ActiveWindow
oExcel:Visible := .T.
oExcel:DisplayAlerts := .T.
oExcel:ScreenUpdating := .T.
ShowWindow( oExcel:hWnd, 3 )
BringWindowToTop( oExcel:hWnd )
RETURN NIL
Resultado:
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favor
Gracias
Armando gracias por responder y cuales serian los parametros para el llenado de los campos : COLUMNAS, FILAS y VALORES
Llenado desde fw sin la intervencion del usuario
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Re: Crear una tabla dinamica con un enlace externo desde fivewin
armando.lagunas wrote:artu01 wrote:armando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:Code: Select all | Expand
STATIC FUNCTION TablaDinamica()
LOCAL Conn, cSql
Conn := "OLEDB;Provider=SQLOLEDB;Data Source=SERVER\SQLEXPRESS;Initial Catalog=VIKING_SYSTEM;User Id='user';Password='admin';"
cSql := "SELECT * FROM dbo.PRUEBA"
// "prueba" es una vista construida específicamente con lo que quiero mostrar en la tabla dinámica con campos calculados y con nombres entendibles para el usuario de excel
ExcelDinamicConstructorSql( Conn, cSql )
return nil
funcion donde se construye:Code: Select all | Expand
FUNCTION ExcelDinamicConstructorSql( cConnStr, cQuery )
LOCAL oExcel, oWorkbook, oPivotCache, xWin, oTargetRange, oTargetSheet, oPivot
oExcel := CreateObject( "excel.application" )
oExcel:DisplayAlerts := .F.
oExcel:ScreenUpdating := .F.
oWorkbook := oExcel:Workbooks:Add()
oTargetSheet := oWorkbook:Get( 'ActiveSheet' )
oTargetRange := oTargetSheet:range("A4")
oTargetSheet:Cells:Font:Name := "Roboto Cn"
oTargetSheet:Cells:Font:Size := 12
oTargetSheet:Name := "Tabla Dinámica"
oPivotCache := oWorkbook:PivotCaches:Add(2)
oPivotCache:Connection := cConnStr
oPivotCache:Commandtext := cQuery
oPivotCache:CreatePivotTable( oTargetRange, "Tabla Dinámica Pruebas" )
oTargetSheet:Cells( 4, 1 ):Select()
xWin := oExcel:ActiveWindow
oExcel:Visible := .T.
oExcel:DisplayAlerts := .T.
oExcel:ScreenUpdating := .T.
ShowWindow( oExcel:hWnd, 3 )
BringWindowToTop( oExcel:hWnd )
RETURN NIL
Resultado:
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favor
Gracias
Saludos Armando,
Que clase utilizas para crear el menu de la Izquierda ?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Hola, sigue este hilo, hay explico como la utilizo
https://forums.fivetechsupport.com/viewtopic.php?f=6&t=31244&sid=252c2cb45f5df4908bdec1f14aba5e80
saludos
https://forums.fivetechsupport.com/viewtopic.php?f=6&t=31244&sid=252c2cb45f5df4908bdec1f14aba5e80
saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com