Page 1 of 2
Pasar datos de una tabla DBF a una de access
Posted: Wed Aug 16, 2006 8:06 pm
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
Posted: Thu Aug 17, 2006 5:57 pm
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()
Posted: Thu Aug 17, 2006 7:54 pm
by EASYSOFT
Gracias Antonio
Saludos
_
Posted: Thu Aug 17, 2006 8:08 pm
by EASYSOFT
Disculpa Antonio
Como consigo la clase toleauto
Saludos
_
Posted: Thu Aug 17, 2006 11:27 pm
by Antonio Linares
_,
Está incluida en xharbour.
Posted: Fri Aug 18, 2006 6:31 pm
by EASYSOFT
Antonio,
Yo adquiri unicamente Harbour que debo hacer para obtener xharbour
Gracias por tu interes
Saludos
_
Posted: Fri Aug 18, 2006 7:15 pm
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.
Posted: Mon Aug 21, 2006 3:11 pm
by EASYSOFT
Gracias por tu ayuda fleal
Saludos
_
Posted: Mon Aug 21, 2006 9:15 pm
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
_
Posted: Tue Aug 22, 2006 6:33 am
by Antonio Linares
_,
Enviado
Re: Pasar datos de una tabla DBF a una de access
Posted: Wed Aug 06, 2014 11:18 pm
by AIDA
Hola buen día
Como debo abrir en un xbrowse una base de acces que tiene password
Gracias
Saluditos
Re: Pasar datos de una tabla DBF a una de access
Posted: Thu Aug 07, 2014 2:29 am
by Antonio Linares
Aida,
Le acabo de reenviar tu pregunta a Rao que es nuestro experto en ADO
Re: Pasar datos de una tabla DBF a una de access
Posted: Thu Aug 07, 2014 4:25 am
by AIDA
Tengo otra pregunta
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
Re: Pasar datos de una tabla DBF a una de access
Posted: Thu Aug 07, 2014 4:31 am
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
Re: Pasar datos de una tabla DBF a una de access
Posted: Thu Aug 07, 2014 4:36 am
by AIDA
Ok are la pregunta como nueva
Gracias