Crear una tabla dinamica con un enlace externo desde fivewin
- armando.lagunas
- Posts: 340
- 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.
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Armando, mira se ayuda:
http://fivewin.com.br/index.php?/topic/ ... 00-linhas/
http://wiki.fivetechsoft.com/doku.php?id=ole_excel
http://forums.fivetechsupport.com/viewt ... =3&t=20763
https://github.com/manuelcalerosolis/Ge ... celsxh.prg
http://fivewin.com.br/index.php?/topic/ ... 00-linhas/
http://wiki.fivetechsoft.com/doku.php?id=ole_excel
http://forums.fivetechsupport.com/viewt ... =3&t=20763
https://github.com/manuelcalerosolis/Ge ... celsxh.prg
João Santos - São Paulo - Brasil
- armando.lagunas
- Posts: 340
- 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:
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
como se usa:
Code: Select all
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 _ y con nombres entendibles para el usuario de excel
ExcelDinamicConstructorSql( Conn, cSql )
return nil
Code: Select all
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
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
- armando.lagunas
- Posts: 340
- 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
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Armando, como siempre, ofreciendo "detalles" de calidad
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favorarmando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:
funcion donde se construye:Code: Select all
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 _ y con nombres entendibles para el usuario de excel ExcelDinamicConstructorSql( Conn, cSql ) return nil
Resultado:Code: Select all
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
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Gracias
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
- armando.lagunas
- Posts: 340
- 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 podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favorarmando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:
funcion donde se construye:Code: Select all
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 _ y con nombres entendibles para el usuario de excel ExcelDinamicConstructorSql( Conn, cSql ) return nil
Resultado:Code: Select all
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
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Gracias
Re: Crear una tabla dinamica con un enlace externo desde fivewin
Armando gracias por responder y cuales serian los parametros para el llenado de _ : COLUMNAS, FILAS y VALORESarmando.lagunas wrote:artu01 wrote:Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favorarmando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:
funcion donde se construye:Code: Select all
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 _ y con nombres entendibles para el usuario de excel ExcelDinamicConstructorSql( Conn, cSql ) return nil
Resultado:Code: Select all
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
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Gracias
Llenado desde fw sin la intervencion del usuario
fwh 17.12, harbour 3.2.0, pelles C, bcc7, Ms-Sql
Re: Crear una tabla dinamica con un enlace externo desde fivewin
armando.lagunas wrote:artu01 wrote:Armando podrias mostrar el resultado de tu tabla dinamica ya que el enlace a la imagen q subiste ya no funciona, por favorarmando.lagunas wrote:Ejemplo funcional probado con excel 2013, base de datos sql server 2012 express
como se usa:
funcion donde se construye:Code: Select all
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 _ y con nombres entendibles para el usuario de excel ExcelDinamicConstructorSql( Conn, cSql ) return nil
Resultado:Code: Select all
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
Acepto sugerencias de mis colegas, y espero de que le sea de utilidad.
Saludos!
Gracias
Saludos Armando,
Que clase utilizas para crear el menu de la Izquierda ?