Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup microsoft.public.es.* 1 Foro > Newsgroup microsoft.public.es.vfoxpro
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
LinkBack Herramientas Desplegado
  #11  
Antiguo 03-09-2008, 07:18:50
Alberto - BCN
 
Mensajes: n/a
Predeterminado Re: foxpro y office 2007

gracias

"Elkin Uribe" <eduribe2000***hotmail.com> escribió en el mensaje
news:OhH2HbQDJHA.3668***TK2MSFTNGP05.phx.gbl...
> Hola Alberto, puedes bajar el archivo AccessDatabaseEngine lo instalas en
> cada equipo donde la aplicacion importe este tipo de archivo (servidor y
> estaciones), y ya puedes importar directamente, mira la informacion que
> amablemente me paso Anders y que me permite trabajar con cualquier archivo
> de excel indiferente de la version la he probado con version 97,2003 y
> 2007. Todo lo que te anexo es para que te des una idea, todo esto lo he
> sacado del portal del pueblo, espero no ofender a nadie
>
>
> *-----------------------------------
> * AUTHOR: Trevor Hancock
> * CREATED: 02/15/08 04:55:31 PM
> * ABSTRACT: Code demonstrates how to connect to
> * and extract data from an Excel 2007 Workbook
> * using the "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"
> * from the 2007 Office System Driver: Data Connectivity Components
> *-----------------------------------
> LOCAL lcXLBook AS STRING, lnSQLHand AS INTEGER, ;
> lcSQLCmd AS STRING, lnSuccess AS INTEGER, ;
> lcConnstr AS STRING
> * CLEAR
> CLOSE DATABASES
> lcXLBook = [C:\debido_cobrar.xls]
>
> lcConnstr = [Driver=] + ;
> [{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};] + ;
> [DBQ=] + lcXLBook
>
> IF !FILE( lcXLBook )
> MESSAGEBOX([Excel file not found])
> RETURN .F.
> ENDIF
> *-- Attempt a connection to the .XLSX WorkBook.
> *-- NOTE: If the specified workbook is not found,
> *-- it will be created by this driver! You cannot rely on a
> *-- connection failure - it will never fail. Ergo, success
> *-- is not checked here. Used FILE() instead.
> lnSQLHand = SQLSTRINGCONNECT( lcConnstr )
>
> *-- Connect successful if we are here. Extract data...
> lcSQLCmd = [Select * FROM "Hoja1$"]
> lnSuccess = SQLEXEC( lnSQLHand, lcSQLCmd, [xlResults] )
> * ? [SQL Cmd Success:], IIF( lnSuccess > 0, 'Esta Bien!', 'Fallo' )
> IF lnSuccess < 0
> LOCAL ARRAY laErr[1]
> AERROR( laErr )
> ? laErr(3)
> SQLDISCONNECT( lnSQLHand )
> RETURN .F.
> ENDIF
>
>
> *-- Show the results
> SELECT xlResults
> * BROWSE NOWAIT
> SQLDISCONNECT( lnSQLHand )
> COPY TO temporal
>
>
> ***Barra de progreso en degradé de colores
> ***Autor: Gabriel Mandelli
> ***ID. DARKFOX
>
> * Primero creamos un formulario
> PUBLIC oform
> oform=CREATEOBJECT("MyForm")
> oform.WINDOWSTATE=0
> oform.HEIGHT=39
> oform.LEFT=0
> oform.TOP=0
> oform.WIDTH=406
> oform.controlbox = .f.
> oform.autocenter = .T.
> oform.borderstyle = 0
> oform.titlebar = 0
> SET CENTURY on
> SET DATE TO mdy
>
> * Agregamos los distintos objetos que forman el termómetro
> * Está formado por dos contenedores: C0 y C1
> * En el container C1 se agregan dos líneas y 200 shapes
> * que son los que se irán pintando con los colores en
> * degradé a medida que progresa el proceso determinado
> * En el container C0 se agrega un texbox con el título
> oform.termometro.c1.ADDOBJECT('Linea1','shape')
> WITH oform.termometro.c1.linea1
> .BACKSTYLE=0
> .BACKCOLOR=RGB(88,112,156)
> .HEIGHT=2
> .LEFT=0
> .SPECIALEFFECT=0
> .TOP=0
> .WIDTH=402
> .VISIBLE=.T.
> ENDWITH
> oform.termometro.c1.ADDOBJECT('Linea2','shape')
> WITH oform.termometro.c1.linea2
> .BACKSTYLE=0
> .BACKCOLOR=RGB(88,112,156)
> .HEIGHT=2
> .LEFT=0
> .SPECIALEFFECT=0
> .TOP=18
> .WIDTH=402
> .VISIBLE=.T.
> ENDWITH
> FOR I=1 TO 200
> figura='Shape'+ALLTRIM(STR(I))
> oform.termometro.c1.ADDOBJECT(figura,'shape')
> figura1='oform.termometro.c1.'+figura
> WITH &figura1.
> .BORDERCOLOR=RGB(88,112,156)
> .BACKCOLOR=RGB(88,112,156)
> .FILLSTYLE=0
> .FILLCOLOR=RGB(0,255,0)
> .TOP=2
> .HEIGHT=15
> .WIDTH=2
> .LEFT=(I*2)-1
> .CURVATURE=0
> .VISIBLE=.F.
> ENDWITH
> ENDFOR
> WITH oform.termometro.c0
> .ADDOBJECT('label1','label')
> .label1.CAPTION='Titulo'
> .label1.BORDERSTYLE=0
> .label1.BACKSTYLE=0
> .label1.FONTBOLD=.T.
> .label1.FORECOLOR=RGB(255,255,255)
> .label1.TOP=2
> .label1.HEIGHT=16
> .label1.WIDTH=300
> .label1.LEFT=2
> .label1.VISIBLE=.T.
> ENDWITH
> * Se muestra el formulario con el termómetro
> oform.SHOW()
> * Se llama al procedimiento iniciar que efectúa los cálculos
> * necesarios para seleccionar los colores correspondientes a
> * cada shape del termómetro
> DO iniciar
> RETURN
> *****
> PROCEDURE iniciar
> * Se eligen los colores de inicio y final
> * Si se quiere colores predeterminados sacar los GETCOLOR y
> * poner el valor RGB() deseado
> *!* c1=GETCOLOR()
> *!* suspend()
> *!* c2=GETCOLOR()
> *!* suspend()
> c1=65535
> c2=0
> a1=INT(c1/(256*256))
> v1=INT(MOD(c1,256*256)/256)
> r1=INT(MOD(MOD(c1,256*256),256))
> a2=INT(c2/(256*256))
> v2=INT(MOD(c2,256*256)/256)
> r2=INT(MOD(MOD(c2,256*256),256))
> entero = 0
> * reg = 200
> titulo = 'Procesando Morosos...' &&Título que desea colocarle a la barra
> oform.termometro.configuracion
>
> set talk off
> set echo off
> set safe off
> set dele on
> close data
> SET EXCLUSIVE off
> SET MULTILOCKS on
> PUBLIC final1
> SELECT 1
> USE morosos &&&excl
> SET ORDER TO ficha
> CURSORSETPROP('Buffering',5,'morosos') &&Buffering optimista
> reg = RECCOUNT()
> GO top
> SCAN FOR LASTKEY() # 27 &&&FOR ctr = 1 TO reg
> *!* ctr = RECNO()
> *!* oform.termometro.barra
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> replace acumulado_año_actual1 WITH acumulado_año_actual, ;
> acumulado_año_anterior1 WITH acumulado_año_anterior, ;
> recargos1 WITH recargos, ;
> saldo1 WITH saldo, ;
> descuentos1 WITH descuentos, ;
> devoluciones1 WITH devoluciones, ;
> facturado1 WITH facturado
> IF TABLEUPDATE(2,.F.,'morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ENDSCAN
> * oform.termometro.borrar
> select morosos
> SET ORDER TO ficha
> * delete for val(codprov) = 0
> * pack
> c1=65535
> c2=0
> a1=INT(c1/(256*256))
> v1=INT(MOD(c1,256*256)/256)
> r1=INT(MOD(MOD(c1,256*256),256))
> a2=INT(c2/(256*256))
> v2=INT(MOD(c2,256*256)/256)
> r2=INT(MOD(MOD(c2,256*256),256))
> entero = 0
> titulo = 'Actualizando Saldos Morosos...' &&Título que desea colocarle a
> la barra
> oform.termometro.configuracion
>
>
> SELECT 2
> USE temporal EXCLUSIVE
> GO top
> DELETE
> PACK
> reg = RECCOUNT()
> GO top
> SCAN FOR LASTKEY() # 27 &&&FOR ctr = 1 TO reg
> ctr = RECNO()
> oform.termometro.barra
> *****
> * Procesos que se realiza
> * reemplazar el INKEY por el proceso
> * INKEY(.01)
> *****
> SELECT morosos
> GO TOP
> * LOCATE FOR ALLTRIM(ficha) == alltrim(temporal.ficha)
> IF !SEEK(alltrim(temporal.ficha),"Morosos")
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> INSERT INTO morosos (telefono,direccion,cedula, ;
> facturado, acumulado_año_actual,;
> acumulado_año_anterior, recargos,saldo,;
> ficha, nombre, ruta, descuentos, devoluciones, ;
> direccion_cobro, estado, dia, mes, ano, fecha) VALUES ;
> (IIF(ISNULL(temporal.telefono)," ",ALLTRIM(temporal.telefono)),;
> IIF(ISNULL(temporal.direccion)," ",ALLTRIM(temporal.direccion)), ;
> IIF(ISNULL(temporal.cedula),"",ALLTRIM(temporal.ce dula)),;
> IIF(ISNULL(temporal.facturado),0,VAL(temporal.fact urado)), ;
> IIF(ISNULL(temporal.acumulado_),0,VAL(temporal.acu mulado_)),;
> IIF(ISNULL(temporal.años_anter),0,VAL(temporal.año s_anter)),0,;
> IIF(ISNULL(temporal.saldo),0,VAL(temporal.saldo)), ;
> IIF(ISNULL(temporal.ficha)," ",temporal.ficha),;
> IIF(ISNULL(temporal.propietari)," ",temporal.propietari), ;
> IIF(ISNULL(temporal.ruta)," ",temporal.ruta), ;
> IIF(ISNULL(temporal.descuentos),0,VAL(temporal.des cuentos)), ;
> IIF(ISNULL(temporal.devolucion),0,VAL(temporal.dev olucion)), ;
> IIF(ISNULL(temporal.direccion_)," ",temporal.direccion_), ;
> IIF(ISNULL(temporal.estado),"",ALLTRIM(temporal.es tado)), ;
> IIF(ISNULL(temporal.dia),"",PADL(ALLTRIM(temporal. dia),2,"0")), ;
> IIF(ISNULL(temporal.mes),"",PADL(ALLTRIM(temporal. mes),2,"0")), ;
> IIF(ISNULL(temporal.año),"",ALLTRIM(temporal.año)) , ;
> IIF(ISNULL(temporal.mes),DATE(),IIF(ISNULL(tempora l.dia),DATE(),IIF(ISNULL(temporal.año),DATE(),;
> CTOD(PADL(ALLTRIM(temporal.mes),2,"0")+"/"+PADL(ALLTRIM(temporal.dia),2,"0");
> +"/"+ALLTRIM(temporal.año))))))
> IF TABLEUPDATE(2,.F.,'Morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ELSE
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> replace acumulado_año_actual WITH
> IIF(ISNULL(temporal.acumulado_),0,VAL(temporal.acu mulado_)), ;
> acumulado_año_anterior WITH
> IIF(ISNULL(temporal.años_anter),0,VAL(temporal.año s_anter)), ;
> recargos WITH 0, ;
> saldo WITH IIF(ISNULL(temporal.saldo),0,VAL(temporal.saldo)), ;
> descuentos WITH
> IIF(ISNULL(temporal.descuentos),0,VAL(temporal.des cuentos)), ;
> devoluciones WITH
> IIF(ISNULL(temporal.devolucion),0,VAL(temporal.dev olucion)), ;
> facturado WITH IIF(ISNULL(temporal.facturado),0,VAL(temporal.fact urado))
> IF TABLEUPDATE(2,.F.,'Morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ENDIF
> SELECT temporal
> ENDSCAN
> CURSORSETPROP('Buffering',1,'morosos') &&Buffering optimista
> close data
> USE
> SET EXCLUSIVE off
> oform.termometro.borrar
> oform.RELEASE
> ENDPROC
> ************
> DEFINE CLASS MyForm AS FORM
> CAPTION="Termómetro"
> BORDERSTYLE=3
> AUTOCENTER=.T.
> HEIGHT=39
> LEFT=0
> TOP=0
> WIDTH=406
> ADD OBJECT termometro AS termo
> ENDDEFINE
> DEFINE CLASS termo AS CONTAINER
> HEIGHT=44
> WIDTH=408
> SPECIALEFFECT=1
> BACKSTYLE=0
> ADD OBJECT c1 AS CONTAINER WITH;
> LEFT=1,;
> HEIGHT=20,;
> TOP=20,;
> WIDTH=403,;
> BACKCOLOR=RGB(0,128,192),;
> BACKSTYLE=1,;
> BORDERCOLOR=RGB(0,128,192)
> ADD OBJECT c0 AS CONTAINER WITH;
> LEFT=1,;
> HEIGHT=20,;
> TOP=0,;
> WIDTH=403,;
> BACKCOLOR=RGB(0,128,192),;
> BACKSTYLE=1,;
> BORDERCOLOR=RGB(0,128,192)
> PROCEDURE INIT
> PUBLIC titulo,r1,v1,a1,r2,v2,a2,ctr,reg,entero,porcentaje
> entero=0
> porcentaje=0
> ENDPROC
> PROCEDURE barra
> porcentaje = ctr / reg * 200
> entero=INT(porcentaje)
> IF entero>=1
> figura='this.c1.shape'+ALLTRIM(STR(entero,3))+'.vi sible'
> IF &figura=.F.
> rojo = r1 + entero * (r2-r1) / 200
> verde = v1 + entero * (v2-v1) / 200
> azul = a1 + entero * (a2-a1) / 200
> bordes='this.c1.shape'+ALLTRIM(STR(entero,3))+'.bo rdercolor'
> &bordes=RGB(rojo,verde,azul)
> &figura=.T.
> ENDIF
> ENDIF
> ENDPROC
> PROCEDURE borrar
> IF entero#0
> figura='this.c1.shape'+ALLTRIM(STR(entero,3))+'.vi sible'
> &figura=.T.
> ENDIF
> FOR I=1 TO 100
> figura='this.c1.shape'+ALLTRIM(STR(I,3))+'.visible '
> &figura=.F.
> ENDFOR
> oFORM.termometro.VISIBLE=.F.
> ENDPROC
> PROCEDURE configuracion
> THIS.VISIBLE=.T.
> oform.termometro.c0.label1.CAPTION=titulo
> ENDPROC
> ENDDEFINE
>
> elkin Uribe
>
>
> "Alberto - BCN" <desarrollo***infoliber.com> escribió en el mensaje de
> noticias:O9qg7HPDJHA.4704***TK2MSFTNGP06.phx.gbl...
>> Hola
>>
>> Tengo en un equipo instalado el office 2007, el foxpro no puede importe
>> archivos excel de este nuevo formato (xlsx).
>> He probado de guardar el archivo con la opcion de guardar como
>> "office2003" (son xls), pero tampoco los importa, mirando en internet he
>> visto que cuando se guarda un archivo como "office2003" no lo guarda
>> identico a los que guarda la version de office 2003, es decir el foxpro
>> no los reconoce.
>>
>> De momento he solucionado el problema con el guardar como "XLS version
>> 5.0".
>>
>> Si microsoft debe dar soprte a visual foxpro hasta el años 2015 (creo),
>> por que no arregla estos errores/mejoras.
>>
>> Que significa dar soporte, si no actualiza el producto dentro de un par
>> de años igual muchas de las funciones que importan dejan de ir, o si se
>> le ocurre sacar al mercado un windows "XXXXX" nuevo el foxpro no se podra
>> instalar si saca los SP.
>>
>> Alberto
>>
>>
>>



Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #12  
Antiguo 03-09-2008, 07:18:50
Alberto - BCN
 
Mensajes: n/a
Predeterminado Re: foxpro y office 2007

gracias

"Elkin Uribe" <eduribe2000***hotmail.com> escribió en el mensaje
news:OhH2HbQDJHA.3668***TK2MSFTNGP05.phx.gbl...
> Hola Alberto, puedes bajar el archivo AccessDatabaseEngine lo instalas en
> cada equipo donde la aplicacion importe este tipo de archivo (servidor y
> estaciones), y ya puedes importar directamente, mira la informacion que
> amablemente me paso Anders y que me permite trabajar con cualquier archivo
> de excel indiferente de la version la he probado con version 97,2003 y
> 2007. Todo lo que te anexo es para que te des una idea, todo esto lo he
> sacado del portal del pueblo, espero no ofender a nadie
>
>
> *-----------------------------------
> * AUTHOR: Trevor Hancock
> * CREATED: 02/15/08 04:55:31 PM
> * ABSTRACT: Code demonstrates how to connect to
> * and extract data from an Excel 2007 Workbook
> * using the "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"
> * from the 2007 Office System Driver: Data Connectivity Components
> *-----------------------------------
> LOCAL lcXLBook AS STRING, lnSQLHand AS INTEGER, ;
> lcSQLCmd AS STRING, lnSuccess AS INTEGER, ;
> lcConnstr AS STRING
> * CLEAR
> CLOSE DATABASES
> lcXLBook = [C:\debido_cobrar.xls]
>
> lcConnstr = [Driver=] + ;
> [{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};] + ;
> [DBQ=] + lcXLBook
>
> IF !FILE( lcXLBook )
> MESSAGEBOX([Excel file not found])
> RETURN .F.
> ENDIF
> *-- Attempt a connection to the .XLSX WorkBook.
> *-- NOTE: If the specified workbook is not found,
> *-- it will be created by this driver! You cannot rely on a
> *-- connection failure - it will never fail. Ergo, success
> *-- is not checked here. Used FILE() instead.
> lnSQLHand = SQLSTRINGCONNECT( lcConnstr )
>
> *-- Connect successful if we are here. Extract data...
> lcSQLCmd = [Select * FROM "Hoja1$"]
> lnSuccess = SQLEXEC( lnSQLHand, lcSQLCmd, [xlResults] )
> * ? [SQL Cmd Success:], IIF( lnSuccess > 0, 'Esta Bien!', 'Fallo' )
> IF lnSuccess < 0
> LOCAL ARRAY laErr[1]
> AERROR( laErr )
> ? laErr(3)
> SQLDISCONNECT( lnSQLHand )
> RETURN .F.
> ENDIF
>
>
> *-- Show the results
> SELECT xlResults
> * BROWSE NOWAIT
> SQLDISCONNECT( lnSQLHand )
> COPY TO temporal
>
>
> ***Barra de progreso en degradé de colores
> ***Autor: Gabriel Mandelli
> ***ID. DARKFOX
>
> * Primero creamos un formulario
> PUBLIC oform
> oform=CREATEOBJECT("MyForm")
> oform.WINDOWSTATE=0
> oform.HEIGHT=39
> oform.LEFT=0
> oform.TOP=0
> oform.WIDTH=406
> oform.controlbox = .f.
> oform.autocenter = .T.
> oform.borderstyle = 0
> oform.titlebar = 0
> SET CENTURY on
> SET DATE TO mdy
>
> * Agregamos los distintos objetos que forman el termómetro
> * Está formado por dos contenedores: C0 y C1
> * En el container C1 se agregan dos líneas y 200 shapes
> * que son los que se irán pintando con los colores en
> * degradé a medida que progresa el proceso determinado
> * En el container C0 se agrega un texbox con el título
> oform.termometro.c1.ADDOBJECT('Linea1','shape')
> WITH oform.termometro.c1.linea1
> .BACKSTYLE=0
> .BACKCOLOR=RGB(88,112,156)
> .HEIGHT=2
> .LEFT=0
> .SPECIALEFFECT=0
> .TOP=0
> .WIDTH=402
> .VISIBLE=.T.
> ENDWITH
> oform.termometro.c1.ADDOBJECT('Linea2','shape')
> WITH oform.termometro.c1.linea2
> .BACKSTYLE=0
> .BACKCOLOR=RGB(88,112,156)
> .HEIGHT=2
> .LEFT=0
> .SPECIALEFFECT=0
> .TOP=18
> .WIDTH=402
> .VISIBLE=.T.
> ENDWITH
> FOR I=1 TO 200
> figura='Shape'+ALLTRIM(STR(I))
> oform.termometro.c1.ADDOBJECT(figura,'shape')
> figura1='oform.termometro.c1.'+figura
> WITH &figura1.
> .BORDERCOLOR=RGB(88,112,156)
> .BACKCOLOR=RGB(88,112,156)
> .FILLSTYLE=0
> .FILLCOLOR=RGB(0,255,0)
> .TOP=2
> .HEIGHT=15
> .WIDTH=2
> .LEFT=(I*2)-1
> .CURVATURE=0
> .VISIBLE=.F.
> ENDWITH
> ENDFOR
> WITH oform.termometro.c0
> .ADDOBJECT('label1','label')
> .label1.CAPTION='Titulo'
> .label1.BORDERSTYLE=0
> .label1.BACKSTYLE=0
> .label1.FONTBOLD=.T.
> .label1.FORECOLOR=RGB(255,255,255)
> .label1.TOP=2
> .label1.HEIGHT=16
> .label1.WIDTH=300
> .label1.LEFT=2
> .label1.VISIBLE=.T.
> ENDWITH
> * Se muestra el formulario con el termómetro
> oform.SHOW()
> * Se llama al procedimiento iniciar que efectúa los cálculos
> * necesarios para seleccionar los colores correspondientes a
> * cada shape del termómetro
> DO iniciar
> RETURN
> *****
> PROCEDURE iniciar
> * Se eligen los colores de inicio y final
> * Si se quiere colores predeterminados sacar los GETCOLOR y
> * poner el valor RGB() deseado
> *!* c1=GETCOLOR()
> *!* suspend()
> *!* c2=GETCOLOR()
> *!* suspend()
> c1=65535
> c2=0
> a1=INT(c1/(256*256))
> v1=INT(MOD(c1,256*256)/256)
> r1=INT(MOD(MOD(c1,256*256),256))
> a2=INT(c2/(256*256))
> v2=INT(MOD(c2,256*256)/256)
> r2=INT(MOD(MOD(c2,256*256),256))
> entero = 0
> * reg = 200
> titulo = 'Procesando Morosos...' &&Título que desea colocarle a la barra
> oform.termometro.configuracion
>
> set talk off
> set echo off
> set safe off
> set dele on
> close data
> SET EXCLUSIVE off
> SET MULTILOCKS on
> PUBLIC final1
> SELECT 1
> USE morosos &&&excl
> SET ORDER TO ficha
> CURSORSETPROP('Buffering',5,'morosos') &&Buffering optimista
> reg = RECCOUNT()
> GO top
> SCAN FOR LASTKEY() # 27 &&&FOR ctr = 1 TO reg
> *!* ctr = RECNO()
> *!* oform.termometro.barra
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> replace acumulado_año_actual1 WITH acumulado_año_actual, ;
> acumulado_año_anterior1 WITH acumulado_año_anterior, ;
> recargos1 WITH recargos, ;
> saldo1 WITH saldo, ;
> descuentos1 WITH descuentos, ;
> devoluciones1 WITH devoluciones, ;
> facturado1 WITH facturado
> IF TABLEUPDATE(2,.F.,'morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ENDSCAN
> * oform.termometro.borrar
> select morosos
> SET ORDER TO ficha
> * delete for val(codprov) = 0
> * pack
> c1=65535
> c2=0
> a1=INT(c1/(256*256))
> v1=INT(MOD(c1,256*256)/256)
> r1=INT(MOD(MOD(c1,256*256),256))
> a2=INT(c2/(256*256))
> v2=INT(MOD(c2,256*256)/256)
> r2=INT(MOD(MOD(c2,256*256),256))
> entero = 0
> titulo = 'Actualizando Saldos Morosos...' &&Título que desea colocarle a
> la barra
> oform.termometro.configuracion
>
>
> SELECT 2
> USE temporal EXCLUSIVE
> GO top
> DELETE
> PACK
> reg = RECCOUNT()
> GO top
> SCAN FOR LASTKEY() # 27 &&&FOR ctr = 1 TO reg
> ctr = RECNO()
> oform.termometro.barra
> *****
> * Procesos que se realiza
> * reemplazar el INKEY por el proceso
> * INKEY(.01)
> *****
> SELECT morosos
> GO TOP
> * LOCATE FOR ALLTRIM(ficha) == alltrim(temporal.ficha)
> IF !SEEK(alltrim(temporal.ficha),"Morosos")
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> INSERT INTO morosos (telefono,direccion,cedula, ;
> facturado, acumulado_año_actual,;
> acumulado_año_anterior, recargos,saldo,;
> ficha, nombre, ruta, descuentos, devoluciones, ;
> direccion_cobro, estado, dia, mes, ano, fecha) VALUES ;
> (IIF(ISNULL(temporal.telefono)," ",ALLTRIM(temporal.telefono)),;
> IIF(ISNULL(temporal.direccion)," ",ALLTRIM(temporal.direccion)), ;
> IIF(ISNULL(temporal.cedula),"",ALLTRIM(temporal.ce dula)),;
> IIF(ISNULL(temporal.facturado),0,VAL(temporal.fact urado)), ;
> IIF(ISNULL(temporal.acumulado_),0,VAL(temporal.acu mulado_)),;
> IIF(ISNULL(temporal.años_anter),0,VAL(temporal.año s_anter)),0,;
> IIF(ISNULL(temporal.saldo),0,VAL(temporal.saldo)), ;
> IIF(ISNULL(temporal.ficha)," ",temporal.ficha),;
> IIF(ISNULL(temporal.propietari)," ",temporal.propietari), ;
> IIF(ISNULL(temporal.ruta)," ",temporal.ruta), ;
> IIF(ISNULL(temporal.descuentos),0,VAL(temporal.des cuentos)), ;
> IIF(ISNULL(temporal.devolucion),0,VAL(temporal.dev olucion)), ;
> IIF(ISNULL(temporal.direccion_)," ",temporal.direccion_), ;
> IIF(ISNULL(temporal.estado),"",ALLTRIM(temporal.es tado)), ;
> IIF(ISNULL(temporal.dia),"",PADL(ALLTRIM(temporal. dia),2,"0")), ;
> IIF(ISNULL(temporal.mes),"",PADL(ALLTRIM(temporal. mes),2,"0")), ;
> IIF(ISNULL(temporal.año),"",ALLTRIM(temporal.año)) , ;
> IIF(ISNULL(temporal.mes),DATE(),IIF(ISNULL(tempora l.dia),DATE(),IIF(ISNULL(temporal.año),DATE(),;
> CTOD(PADL(ALLTRIM(temporal.mes),2,"0")+"/"+PADL(ALLTRIM(temporal.dia),2,"0");
> +"/"+ALLTRIM(temporal.año))))))
> IF TABLEUPDATE(2,.F.,'Morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ELSE
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> replace acumulado_año_actual WITH
> IIF(ISNULL(temporal.acumulado_),0,VAL(temporal.acu mulado_)), ;
> acumulado_año_anterior WITH
> IIF(ISNULL(temporal.años_anter),0,VAL(temporal.año s_anter)), ;
> recargos WITH 0, ;
> saldo WITH IIF(ISNULL(temporal.saldo),0,VAL(temporal.saldo)), ;
> descuentos WITH
> IIF(ISNULL(temporal.descuentos),0,VAL(temporal.des cuentos)), ;
> devoluciones WITH
> IIF(ISNULL(temporal.devolucion),0,VAL(temporal.dev olucion)), ;
> facturado WITH IIF(ISNULL(temporal.facturado),0,VAL(temporal.fact urado))
> IF TABLEUPDATE(2,.F.,'Morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ENDIF
> SELECT temporal
> ENDSCAN
> CURSORSETPROP('Buffering',1,'morosos') &&Buffering optimista
> close data
> USE
> SET EXCLUSIVE off
> oform.termometro.borrar
> oform.RELEASE
> ENDPROC
> ************
> DEFINE CLASS MyForm AS FORM
> CAPTION="Termómetro"
> BORDERSTYLE=3
> AUTOCENTER=.T.
> HEIGHT=39
> LEFT=0
> TOP=0
> WIDTH=406
> ADD OBJECT termometro AS termo
> ENDDEFINE
> DEFINE CLASS termo AS CONTAINER
> HEIGHT=44
> WIDTH=408
> SPECIALEFFECT=1
> BACKSTYLE=0
> ADD OBJECT c1 AS CONTAINER WITH;
> LEFT=1,;
> HEIGHT=20,;
> TOP=20,;
> WIDTH=403,;
> BACKCOLOR=RGB(0,128,192),;
> BACKSTYLE=1,;
> BORDERCOLOR=RGB(0,128,192)
> ADD OBJECT c0 AS CONTAINER WITH;
> LEFT=1,;
> HEIGHT=20,;
> TOP=0,;
> WIDTH=403,;
> BACKCOLOR=RGB(0,128,192),;
> BACKSTYLE=1,;
> BORDERCOLOR=RGB(0,128,192)
> PROCEDURE INIT
> PUBLIC titulo,r1,v1,a1,r2,v2,a2,ctr,reg,entero,porcentaje
> entero=0
> porcentaje=0
> ENDPROC
> PROCEDURE barra
> porcentaje = ctr / reg * 200
> entero=INT(porcentaje)
> IF entero>=1
> figura='this.c1.shape'+ALLTRIM(STR(entero,3))+'.vi sible'
> IF &figura=.F.
> rojo = r1 + entero * (r2-r1) / 200
> verde = v1 + entero * (v2-v1) / 200
> azul = a1 + entero * (a2-a1) / 200
> bordes='this.c1.shape'+ALLTRIM(STR(entero,3))+'.bo rdercolor'
> &bordes=RGB(rojo,verde,azul)
> &figura=.T.
> ENDIF
> ENDIF
> ENDPROC
> PROCEDURE borrar
> IF entero#0
> figura='this.c1.shape'+ALLTRIM(STR(entero,3))+'.vi sible'
> &figura=.T.
> ENDIF
> FOR I=1 TO 100
> figura='this.c1.shape'+ALLTRIM(STR(I,3))+'.visible '
> &figura=.F.
> ENDFOR
> oFORM.termometro.VISIBLE=.F.
> ENDPROC
> PROCEDURE configuracion
> THIS.VISIBLE=.T.
> oform.termometro.c0.label1.CAPTION=titulo
> ENDPROC
> ENDDEFINE
>
> elkin Uribe
>
>
> "Alberto - BCN" <desarrollo***infoliber.com> escribió en el mensaje de
> noticias:O9qg7HPDJHA.4704***TK2MSFTNGP06.phx.gbl...
>> Hola
>>
>> Tengo en un equipo instalado el office 2007, el foxpro no puede importe
>> archivos excel de este nuevo formato (xlsx).
>> He probado de guardar el archivo con la opcion de guardar como
>> "office2003" (son xls), pero tampoco los importa, mirando en internet he
>> visto que cuando se guarda un archivo como "office2003" no lo guarda
>> identico a los que guarda la version de office 2003, es decir el foxpro
>> no los reconoce.
>>
>> De momento he solucionado el problema con el guardar como "XLS version
>> 5.0".
>>
>> Si microsoft debe dar soprte a visual foxpro hasta el años 2015 (creo),
>> por que no arregla estos errores/mejoras.
>>
>> Que significa dar soporte, si no actualiza el producto dentro de un par
>> de años igual muchas de las funciones que importan dejan de ir, o si se
>> le ocurre sacar al mercado un windows "XXXXX" nuevo el foxpro no se podra
>> instalar si saca los SP.
>>
>> Alberto
>>
>>
>>



  #13  
Antiguo 03-09-2008, 07:18:50
Alberto - BCN
 
Mensajes: n/a
Predeterminado Re: foxpro y office 2007

gracias

"Elkin Uribe" <eduribe2000***hotmail.com> escribió en el mensaje
news:OhH2HbQDJHA.3668***TK2MSFTNGP05.phx.gbl...
> Hola Alberto, puedes bajar el archivo AccessDatabaseEngine lo instalas en
> cada equipo donde la aplicacion importe este tipo de archivo (servidor y
> estaciones), y ya puedes importar directamente, mira la informacion que
> amablemente me paso Anders y que me permite trabajar con cualquier archivo
> de excel indiferente de la version la he probado con version 97,2003 y
> 2007. Todo lo que te anexo es para que te des una idea, todo esto lo he
> sacado del portal del pueblo, espero no ofender a nadie
>
>
> *-----------------------------------
> * AUTHOR: Trevor Hancock
> * CREATED: 02/15/08 04:55:31 PM
> * ABSTRACT: Code demonstrates how to connect to
> * and extract data from an Excel 2007 Workbook
> * using the "Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)"
> * from the 2007 Office System Driver: Data Connectivity Components
> *-----------------------------------
> LOCAL lcXLBook AS STRING, lnSQLHand AS INTEGER, ;
> lcSQLCmd AS STRING, lnSuccess AS INTEGER, ;
> lcConnstr AS STRING
> * CLEAR
> CLOSE DATABASES
> lcXLBook = [C:\debido_cobrar.xls]
>
> lcConnstr = [Driver=] + ;
> [{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};] + ;
> [DBQ=] + lcXLBook
>
> IF !FILE( lcXLBook )
> MESSAGEBOX([Excel file not found])
> RETURN .F.
> ENDIF
> *-- Attempt a connection to the .XLSX WorkBook.
> *-- NOTE: If the specified workbook is not found,
> *-- it will be created by this driver! You cannot rely on a
> *-- connection failure - it will never fail. Ergo, success
> *-- is not checked here. Used FILE() instead.
> lnSQLHand = SQLSTRINGCONNECT( lcConnstr )
>
> *-- Connect successful if we are here. Extract data...
> lcSQLCmd = [Select * FROM "Hoja1$"]
> lnSuccess = SQLEXEC( lnSQLHand, lcSQLCmd, [xlResults] )
> * ? [SQL Cmd Success:], IIF( lnSuccess > 0, 'Esta Bien!', 'Fallo' )
> IF lnSuccess < 0
> LOCAL ARRAY laErr[1]
> AERROR( laErr )
> ? laErr(3)
> SQLDISCONNECT( lnSQLHand )
> RETURN .F.
> ENDIF
>
>
> *-- Show the results
> SELECT xlResults
> * BROWSE NOWAIT
> SQLDISCONNECT( lnSQLHand )
> COPY TO temporal
>
>
> ***Barra de progreso en degradé de colores
> ***Autor: Gabriel Mandelli
> ***ID. DARKFOX
>
> * Primero creamos un formulario
> PUBLIC oform
> oform=CREATEOBJECT("MyForm")
> oform.WINDOWSTATE=0
> oform.HEIGHT=39
> oform.LEFT=0
> oform.TOP=0
> oform.WIDTH=406
> oform.controlbox = .f.
> oform.autocenter = .T.
> oform.borderstyle = 0
> oform.titlebar = 0
> SET CENTURY on
> SET DATE TO mdy
>
> * Agregamos los distintos objetos que forman el termómetro
> * Está formado por dos contenedores: C0 y C1
> * En el container C1 se agregan dos líneas y 200 shapes
> * que son los que se irán pintando con los colores en
> * degradé a medida que progresa el proceso determinado
> * En el container C0 se agrega un texbox con el título
> oform.termometro.c1.ADDOBJECT('Linea1','shape')
> WITH oform.termometro.c1.linea1
> .BACKSTYLE=0
> .BACKCOLOR=RGB(88,112,156)
> .HEIGHT=2
> .LEFT=0
> .SPECIALEFFECT=0
> .TOP=0
> .WIDTH=402
> .VISIBLE=.T.
> ENDWITH
> oform.termometro.c1.ADDOBJECT('Linea2','shape')
> WITH oform.termometro.c1.linea2
> .BACKSTYLE=0
> .BACKCOLOR=RGB(88,112,156)
> .HEIGHT=2
> .LEFT=0
> .SPECIALEFFECT=0
> .TOP=18
> .WIDTH=402
> .VISIBLE=.T.
> ENDWITH
> FOR I=1 TO 200
> figura='Shape'+ALLTRIM(STR(I))
> oform.termometro.c1.ADDOBJECT(figura,'shape')
> figura1='oform.termometro.c1.'+figura
> WITH &figura1.
> .BORDERCOLOR=RGB(88,112,156)
> .BACKCOLOR=RGB(88,112,156)
> .FILLSTYLE=0
> .FILLCOLOR=RGB(0,255,0)
> .TOP=2
> .HEIGHT=15
> .WIDTH=2
> .LEFT=(I*2)-1
> .CURVATURE=0
> .VISIBLE=.F.
> ENDWITH
> ENDFOR
> WITH oform.termometro.c0
> .ADDOBJECT('label1','label')
> .label1.CAPTION='Titulo'
> .label1.BORDERSTYLE=0
> .label1.BACKSTYLE=0
> .label1.FONTBOLD=.T.
> .label1.FORECOLOR=RGB(255,255,255)
> .label1.TOP=2
> .label1.HEIGHT=16
> .label1.WIDTH=300
> .label1.LEFT=2
> .label1.VISIBLE=.T.
> ENDWITH
> * Se muestra el formulario con el termómetro
> oform.SHOW()
> * Se llama al procedimiento iniciar que efectúa los cálculos
> * necesarios para seleccionar los colores correspondientes a
> * cada shape del termómetro
> DO iniciar
> RETURN
> *****
> PROCEDURE iniciar
> * Se eligen los colores de inicio y final
> * Si se quiere colores predeterminados sacar los GETCOLOR y
> * poner el valor RGB() deseado
> *!* c1=GETCOLOR()
> *!* suspend()
> *!* c2=GETCOLOR()
> *!* suspend()
> c1=65535
> c2=0
> a1=INT(c1/(256*256))
> v1=INT(MOD(c1,256*256)/256)
> r1=INT(MOD(MOD(c1,256*256),256))
> a2=INT(c2/(256*256))
> v2=INT(MOD(c2,256*256)/256)
> r2=INT(MOD(MOD(c2,256*256),256))
> entero = 0
> * reg = 200
> titulo = 'Procesando Morosos...' &&Título que desea colocarle a la barra
> oform.termometro.configuracion
>
> set talk off
> set echo off
> set safe off
> set dele on
> close data
> SET EXCLUSIVE off
> SET MULTILOCKS on
> PUBLIC final1
> SELECT 1
> USE morosos &&&excl
> SET ORDER TO ficha
> CURSORSETPROP('Buffering',5,'morosos') &&Buffering optimista
> reg = RECCOUNT()
> GO top
> SCAN FOR LASTKEY() # 27 &&&FOR ctr = 1 TO reg
> *!* ctr = RECNO()
> *!* oform.termometro.barra
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> replace acumulado_año_actual1 WITH acumulado_año_actual, ;
> acumulado_año_anterior1 WITH acumulado_año_anterior, ;
> recargos1 WITH recargos, ;
> saldo1 WITH saldo, ;
> descuentos1 WITH descuentos, ;
> devoluciones1 WITH devoluciones, ;
> facturado1 WITH facturado
> IF TABLEUPDATE(2,.F.,'morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ENDSCAN
> * oform.termometro.borrar
> select morosos
> SET ORDER TO ficha
> * delete for val(codprov) = 0
> * pack
> c1=65535
> c2=0
> a1=INT(c1/(256*256))
> v1=INT(MOD(c1,256*256)/256)
> r1=INT(MOD(MOD(c1,256*256),256))
> a2=INT(c2/(256*256))
> v2=INT(MOD(c2,256*256)/256)
> r2=INT(MOD(MOD(c2,256*256),256))
> entero = 0
> titulo = 'Actualizando Saldos Morosos...' &&Título que desea colocarle a
> la barra
> oform.termometro.configuracion
>
>
> SELECT 2
> USE temporal EXCLUSIVE
> GO top
> DELETE
> PACK
> reg = RECCOUNT()
> GO top
> SCAN FOR LASTKEY() # 27 &&&FOR ctr = 1 TO reg
> ctr = RECNO()
> oform.termometro.barra
> *****
> * Procesos que se realiza
> * reemplazar el INKEY por el proceso
> * INKEY(.01)
> *****
> SELECT morosos
> GO TOP
> * LOCATE FOR ALLTRIM(ficha) == alltrim(temporal.ficha)
> IF !SEEK(alltrim(temporal.ficha),"Morosos")
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> INSERT INTO morosos (telefono,direccion,cedula, ;
> facturado, acumulado_año_actual,;
> acumulado_año_anterior, recargos,saldo,;
> ficha, nombre, ruta, descuentos, devoluciones, ;
> direccion_cobro, estado, dia, mes, ano, fecha) VALUES ;
> (IIF(ISNULL(temporal.telefono)," ",ALLTRIM(temporal.telefono)),;
> IIF(ISNULL(temporal.direccion)," ",ALLTRIM(temporal.direccion)), ;
> IIF(ISNULL(temporal.cedula),"",ALLTRIM(temporal.ce dula)),;
> IIF(ISNULL(temporal.facturado),0,VAL(temporal.fact urado)), ;
> IIF(ISNULL(temporal.acumulado_),0,VAL(temporal.acu mulado_)),;
> IIF(ISNULL(temporal.años_anter),0,VAL(temporal.año s_anter)),0,;
> IIF(ISNULL(temporal.saldo),0,VAL(temporal.saldo)), ;
> IIF(ISNULL(temporal.ficha)," ",temporal.ficha),;
> IIF(ISNULL(temporal.propietari)," ",temporal.propietari), ;
> IIF(ISNULL(temporal.ruta)," ",temporal.ruta), ;
> IIF(ISNULL(temporal.descuentos),0,VAL(temporal.des cuentos)), ;
> IIF(ISNULL(temporal.devolucion),0,VAL(temporal.dev olucion)), ;
> IIF(ISNULL(temporal.direccion_)," ",temporal.direccion_), ;
> IIF(ISNULL(temporal.estado),"",ALLTRIM(temporal.es tado)), ;
> IIF(ISNULL(temporal.dia),"",PADL(ALLTRIM(temporal. dia),2,"0")), ;
> IIF(ISNULL(temporal.mes),"",PADL(ALLTRIM(temporal. mes),2,"0")), ;
> IIF(ISNULL(temporal.año),"",ALLTRIM(temporal.año)) , ;
> IIF(ISNULL(temporal.mes),DATE(),IIF(ISNULL(tempora l.dia),DATE(),IIF(ISNULL(temporal.año),DATE(),;
> CTOD(PADL(ALLTRIM(temporal.mes),2,"0")+"/"+PADL(ALLTRIM(temporal.dia),2,"0");
> +"/"+ALLTRIM(temporal.año))))))
> IF TABLEUPDATE(2,.F.,'Morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ELSE
> IF LASTKEY() # 27
> BEGIN TRANSACTION
> replace acumulado_año_actual WITH
> IIF(ISNULL(temporal.acumulado_),0,VAL(temporal.acu mulado_)), ;
> acumulado_año_anterior WITH
> IIF(ISNULL(temporal.años_anter),0,VAL(temporal.año s_anter)), ;
> recargos WITH 0, ;
> saldo WITH IIF(ISNULL(temporal.saldo),0,VAL(temporal.saldo)), ;
> descuentos WITH
> IIF(ISNULL(temporal.descuentos),0,VAL(temporal.des cuentos)), ;
> devoluciones WITH
> IIF(ISNULL(temporal.devolucion),0,VAL(temporal.dev olucion)), ;
> facturado WITH IIF(ISNULL(temporal.facturado),0,VAL(temporal.fact urado))
> IF TABLEUPDATE(2,.F.,'Morosos')
> END TRANSACTION
> ELSE
> ROLLBACK
> ENDIF
> ENDIF
> ENDIF
> SELECT temporal
> ENDSCAN
> CURSORSETPROP('Buffering',1,'morosos') &&Buffering optimista
> close data
> USE
> SET EXCLUSIVE off
> oform.termometro.borrar
> oform.RELEASE
> ENDPROC
> ************
> DEFINE CLASS MyForm AS FORM
> CAPTION="Termómetro"
> BORDERSTYLE=3
> AUTOCENTER=.T.
> HEIGHT=39
> LEFT=0
> TOP=0
> WIDTH=406
> ADD OBJECT termometro AS termo
> ENDDEFINE
> DEFINE CLASS termo AS CONTAINER
> HEIGHT=44
> WIDTH=408
> SPECIALEFFECT=1
> BACKSTYLE=0
> ADD OBJECT c1 AS CONTAINER WITH;
> LEFT=1,;
> HEIGHT=20,;
> TOP=20,;
> WIDTH=403,;
> BACKCOLOR=RGB(0,128,192),;
> BACKSTYLE=1,;
> BORDERCOLOR=RGB(0,128,192)
> ADD OBJECT c0 AS CONTAINER WITH;
> LEFT=1,;
> HEIGHT=20,;
> TOP=0,;
> WIDTH=403,;
> BACKCOLOR=RGB(0,128,192),;
> BACKSTYLE=1,;
> BORDERCOLOR=RGB(0,128,192)
> PROCEDURE INIT
> PUBLIC titulo,r1,v1,a1,r2,v2,a2,ctr,reg,entero,porcentaje
> entero=0
> porcentaje=0
> ENDPROC
> PROCEDURE barra
> porcentaje = ctr / reg * 200
> entero=INT(porcentaje)
> IF entero>=1
> figura='this.c1.shape'+ALLTRIM(STR(entero,3))+'.vi sible'
> IF &figura=.F.
> rojo = r1 + entero * (r2-r1) / 200
> verde = v1 + entero * (v2-v1) / 200
> azul = a1 + entero * (a2-a1) / 200
> bordes='this.c1.shape'+ALLTRIM(STR(entero,3))+'.bo rdercolor'
> &bordes=RGB(rojo,verde,azul)
> &figura=.T.
> ENDIF
> ENDIF
> ENDPROC
> PROCEDURE borrar
> IF entero#0
> figura='this.c1.shape'+ALLTRIM(STR(entero,3))+'.vi sible'
> &figura=.T.
> ENDIF
> FOR I=1 TO 100
> figura='this.c1.shape'+ALLTRIM(STR(I,3))+'.visible '
> &figura=.F.
> ENDFOR
> oFORM.termometro.VISIBLE=.F.
> ENDPROC
> PROCEDURE configuracion
> THIS.VISIBLE=.T.
> oform.termometro.c0.label1.CAPTION=titulo
> ENDPROC
> ENDDEFINE
>
> elkin Uribe
>
>
> "Alberto - BCN" <desarrollo***infoliber.com> escribió en el mensaje de
> noticias:O9qg7HPDJHA.4704***TK2MSFTNGP06.phx.gbl...
>> Hola
>>
>> Tengo en un equipo instalado el office 2007, el foxpro no puede importe
>> archivos excel de este nuevo formato (xlsx).
>> He probado de guardar el archivo con la opcion de guardar como
>> "office2003" (son xls), pero tampoco los importa, mirando en internet he
>> visto que cuando se guarda un archivo como "office2003" no lo guarda
>> identico a los que guarda la version de office 2003, es decir el foxpro
>> no los reconoce.
>>
>> De momento he solucionado el problema con el guardar como "XLS version
>> 5.0".
>>
>> Si microsoft debe dar soprte a visual foxpro hasta el años 2015 (creo),
>> por que no arregla estos errores/mejoras.
>>
>> Que significa dar soporte, si no actualiza el producto dentro de un par
>> de años igual muchas de las funciones que importan dejan de ir, o si se
>> le ocurre sacar al mercado un windows "XXXXX" nuevo el foxpro no se podra
>> instalar si saca los SP.
>>
>> Alberto
>>
>>
>>



  #14  
Antiguo 05-09-2008, 14:42:18
josepe
 
Mensajes: n/a
Predeterminado Re: foxpro y office 2007

otra cosa que puedes probar es qaue instales el Office2007 Compatibility
pack, que es un parche que permite a Office 2000/XP/2003 (o sus
vierwers) leer y escribir formato 2007.
Mira si le hace algo a VFP.
  #15  
Antiguo 05-09-2008, 14:42:18
josepe
 
Mensajes: n/a
Predeterminado Re: foxpro y office 2007

otra cosa que puedes probar es qaue instales el Office2007 Compatibility
pack, que es un parche que permite a Office 2000/XP/2003 (o sus
vierwers) leer y escribir formato 2007.
Mira si le hace algo a VFP.
  #16  
Antiguo 05-09-2008, 14:42:18
josepe
 
Mensajes: n/a
Predeterminado Re: foxpro y office 2007

otra cosa que puedes probar es qaue instales el Office2007 Compatibility
pack, que es un parche que permite a Office 2000/XP/2003 (o sus
vierwers) leer y escribir formato 2007.
Mira si le hace algo a VFP.
 


Herramientas
Desplegado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Chm De Microsoft Office Automation with Visual FoxPro
Jose Luis Sayago Newsgroup microsoft.public.es.vfoxpro 1 13-11-2008 17:32:30
Funciona automatización foxpro con Office 2007
afantelo@adsoft.es Newsgroup microsoft.public.es.vfoxpro 6 29-06-2008 10:13:59
Diferencia de Office 2007 estandar y Office 2007 Professional
Lemus Newsgroup microsoft.public.es.officedev 0 07-06-2008 00:23:01



La franja horaria es GMT. Ahora son las 17:22:57.



Derechos de Autor ©2000 - 2010, Newsgrupos.com
Powered by vBulletin Copyright © 2010 vBulletin Solutions, Inc.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.