Pasar datos de una tabla DBF a una de access

EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Pasar datos de una tabla DBF a una de access

Post by EASYSOFT »

Hola amigos de foro

Necesito pasar unos datos que se encuentran en una dbf a una tabla de access este el parte del codigo con el que lo he intentado

Gracias de antemano


#include "FiveWin.ch"
#include "sql.ch"

//----------------------------------------------------------------//

function Main()

Local oOdbc, oDbf,oDbf1
local aData := {}
Local cnombre

SET 3D LOOK ON
sele 1
use \fwh\fenix\tventas.dbf
browse()

oOdbc := TOdbc():New( "fenix", "", "" )

If !oOdbc:lSuccess
oOdbc:ShowErrorList("ODBC session not successfully initialized, aborting...")
oOdbc:End()
return nil
Endif



oDbf := TDbOdbcDirect():new( "SELECT * FROM ventas" , oOdbc)
oDbf:Open()
oDbf:Complete()

Browse()
cnombre:= oDbf:FieldName(1)
?? cnombre

sele 1
do while !eof()
?? 'ingrese'
oDbf:AddNew()
oDbf:tpIdCliente := tventas->tpidclien
oDbf:update()
sele 1
dbskip()
enddo

oDbf:End()
oOdbc:End()

return nil
Saludos
_
Fwh 10.4, bcc55
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Es más sencillo si usas ADO. Aquí tienes un ejemplo publicado por René:

Code: Select all

LOCAL oConexionAdo := TOLEAUTO():New("adodb.connection")
PRIVATE oRecordset := TOLEAUTO():New("adodb.recordset")

   oConexionAdo:Open("Provider= MicroSoft.Jet.OLEDB.4.0;Data Source=.\taller.mdb;")

   oRecordSet:LockType := adLockOptimistic
   oRecordSet:CursorType := adOpenKeyset
   oRecordSet:ActiveConnection(oConexionAdo)
   oRecordSet:Source := "Select * from clientes" // tu query aqui
   oRecordSet:Open()
   oRecordSet:MoveFirst()

   aDatos := {}

   DO WHILE ! oRecordSet:eof()
        aReng := {}
        FOR x := 1 TO oRecordSet:Fields:Count()
            AADD(aReng,oRecordSet:Field(x-1):Value
        NEXT
        AADD(aDatos,aReng)
        oRecordSet:MoveNext
   ENDDO

   oRecordSet:Close()
   oConexionAdo:Close()
regards, saludos

Antonio Linares
www.fivetechsoft.com
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Gracias Antonio



Saludos
_
Saludos
_
Fwh 10.4, bcc55
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Disculpa Antonio
Como consigo la clase toleauto



Saludos

_
Saludos
_
Fwh 10.4, bcc55
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

_,

Está incluida en xharbour.
regards, saludos

Antonio Linares
www.fivetechsoft.com
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Antonio,

Yo adquiri unicamente Harbour que debo hacer para obtener xharbour

Gracias por tu interes


Saludos
_
Saludos
_
Fwh 10.4, bcc55
fleal
Posts: 234
Joined: Tue Oct 25, 2005 12:39 am
Location: México, DF

Post by fleal »

_,
1) cuando comprastes tu fivewin para harbour, Antonio te dió una clave para descargar el software. Ahí mismo debistes de haber descargado tu harbour.exe y tu xharbour.exe

2) Necesitarás instalar el xharbour.exe para poder compilar tu prg y usar TOLEAUTO.

Ahora, tu versión 2.6 tiene más de un año. Mucho ha cambiado. Lo mejor sería que te actualizarás al último build.

En cuanto al código de ejemplo anexado arriba. Ese código es para leer una base de access... NO PARA PASAR la información de una dbf a access.

De dbf a MDB access.

Se requiere xharbour y fivewin para harbour. Yo lo tengo trabajando en FWH 2.7 + xharbour (Es el xharbour que viene en la compra de fivewin)

#define adOpenKeyset 1
#define adLockOptimistic 3

static function Guardar( )
local oConexionAdo := TOLEAUTO():New("adodb.connection")
local oRs := TOLEAUTO():New("adodb.recordset")


oConexionAdo:Open("Provider= MicroSoft.Jet.OLEDB.4.0;Data Source=C:\ACCESS\DATOS.MDB;") // DATOS.MDB es la base de access

oRs:LockType := adLockOptimistic
oRs:CursorType := adOpenKeyset
oRs:ActiveConnection(oConexionAdo)
oRs:Source := "Select * from CLIENTES" // CLIENTES es la tabla contenida dentro de DATOS.MDB
oRs:Open()


CAPTURA->( dbgotop() )
while CAPTURA->( !EOF() )
oRs:AddNew()
oRs:Fields("NOMBRE DEL SOLICITANTE"):Value := "NOMBRE"
oRs:Fields("COLONIA"):Value := CAPTURA->COLONIA

oRs:Update()

CAPTURA->( dbskip() )

enddo

oRs:Close()

?"Terminado"

return .T.
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Gracias por tu ayuda fleal




Saludos


_
Saludos
_
Fwh 10.4, bcc55
EASYSOFT
Posts: 129
Joined: Sat Oct 22, 2005 1:17 pm
Location: Quito - Ecuador

Post by EASYSOFT »

Antonio
Por favor me puede enviar los pasos a seguir y los costos para actualizar mi build, a mi correo

easysoft@andinanet.net

Gracias

Saludos
_
Saludos
_
Fwh 10.4, bcc55
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

_,

Enviado
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Re: Pasar datos de una tabla DBF a una de access

Post by AIDA »

Hola buen día :D

Como debo abrir en un xbrowse una base de acces que tiene password :roll:


Gracias :mrgreen:


Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Pasar datos de una tabla DBF a una de access

Post by Antonio Linares »

Aida,

Le acabo de reenviar tu pregunta a Rao que es nuestro experto en ADO :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Re: Pasar datos de una tabla DBF a una de access

Post by AIDA »

Tengo otra pregunta :oops:

no se si se pueda importar una tabla de acces con paswor a mysql usando código
para no tener que usar el NAVICAT para importarlo a mano :?:


Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Pasar datos de una tabla DBF a una de access

Post by Antonio Linares »

Aida,

Eso posiblemente te lo puedan contestar algunos usuarios que hayan ya migrado DBFs a ADO.

Si no obtienes respuesta, le preguntaremos a Rao. Nuestro FiveDBU aún no tiene esa opción pero pronto vamos a incorporársela para ayudar a quienes necesiten migrar datos y que así lo puedan hacer comodamente :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
AIDA
Posts: 782
Joined: Fri Jan 12, 2007 8:35 pm

Re: Pasar datos de una tabla DBF a una de access

Post by AIDA »

Ok are la pregunta como nueva :D


Gracias :mrgreen:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Post Reply