Hola amigos:
Quisiera pasar mis archivos adt a dbf.
Hay alguna manera rápida?
Gracias
Dario Fernandez
Los resolví exportando el archivo adt a xls y luego lo pase a dbf.
Saludos
Dario Fernandez
STATIC nServer
/*-------------------------------------------------------------------------------------------------*/
FUNCTION Conectar()
LOCAL lConectado := FALSE
LOCAL hArchivoIni := NIL
LOCAL cError := ""
LOCAL cServidor := ""
LOCAL nServidor := 0
LOCAL bConectar := {|| lConectado := AdsConnect60( cServidor, nServidor, "Creditos", "Mulan2013", NIL , @hConexion ) }
LOCAL bAbrir := {|| lConectado := Conectar_AbrirTablas() }
hArchivoIni := HB_ReadIni( Lower( ".\CREDITOS.INI" ) )
IF HB_IsNil( hArchivoIni )
MsgStop( "No se pudo leer el archivo de configuración CREDITOS.INI, contacte al desarrollador del programa." )
RETURN lConectado
ELSE
TRY
nConexion := Val( hArchivoIni[ "DATOS", "Tipo" ] )
CATCH
nConexion := 0
END
DO CASE
CASE nConexion==1
nServer := nServidor := ADS_LOCAL_SERVER
cServidor := hArchivoIni[ "DATOS", "Conexion1" ]
CASE nConexion==2
nServer := nServidor := ADS_REMOTE_SERVER
cServidor := hArchivoIni[ "DATOS", "Conexion2" ]
CASE nConexion==3
nServer := nServidor := ADS_AIS_SERVER
cServidor := hArchivoIni[ "DATOS", "Conexion3" ]
OTHERWISE
MsgStop( "El archivo de conexión esta corrupto, contacte al desarrollador del programa." )
RETURN lConectado
ENDCASE
ENDIF
IF !Empty( cServidor )
MsgRun( "Conectando con el servidor de datos, espere un momento.", "CREDITOS", bConectar )
IF !lConectado
AdsGetLastError( @cError )
MsgStop( "No se ha podido realizar la conexión al servidor de datos: " + FINL + cError + FINL + cServidor )
ELSE
oSesion:cPC_Servidor := RTrim( cServidor )
MsgRun( "Abriendo tablas de datos, espere un momento", "CREDITOS", bAbrir )
ENDIF
ELSE
MsgStop( "El archivo de conexión esta corrupto, contacte al desarrollador del programa." )
ENDIF
RETURN lConectado
/*-------------------------------------------------------------------------------------------------*/
FUNCTION Conectar_AbrirTablas()
LOCAL lTablasAbiertas := TRUE
LOCAL oError
TRY
Conectar_AbrirTabla( "CONTROL", "CTRL" )
Conectar_AbrirTabla( "USUARIOS", "USUA" )
Conectar_AbrirTabla( "FERIADOS", "FERI" )
Conectar_AbrirTabla( "PLAZOS", "PLAZ" )
Conectar_AbrirTabla( "ZONAS", "ZONA" )
Conectar_AbrirTabla( "CIUDADES", "CIUD" )
Conectar_AbrirTabla( "GESTORES", "GEST" )
Conectar_AbrirTabla( "COBRADORES", "COBR" )
Conectar_AbrirTabla( "RUTAS", "RUTA" )
Conectar_AbrirTabla( "CLIENTES", "CLIE" )
Conectar_AbrirTabla( "PROGRAMACION", "PROG" )
Conectar_AbrirTabla( "PROGRAMACION_BAK", "PBAK" )
Conectar_AbrirTabla( "PRESTAMOS", "PRES" )
Conectar_AbrirTabla( "DIFERIDOS", "DIFE" )
Conectar_AbrirTabla( "MOVIMIENTOS", "MOVI" )
Conectar_AbrirTabla( "FLUJOS", "FLUJ" )
Conectar_AbrirTabla( "MCOBROSXRUTA", "MCXR" )
Conectar_AbrirTabla( "DCOBROSXRUTA", "DCXR" )
Conectar_AbrirTabla( "CAJA", "CAJA" )
Conectar_AbrirTabla( "COBROXDIA", "CXDI" )
Conectar_AbrirTabla( "COBROXDIAC", "CXDC" )
Conectar_AbrirTabla( "COBROXDIAT", "CXDT" )
Conectar_ConfigurarTablas()
DBSelectArea( 0 )
CATCH oError
lTablasAbiertas := FALSE
ShowError( oError )
END
//Adt2Dbf()
RETURN lTablasAbiertas
/*-------------------------------------------------------------------------------------------------*/
PROCEDURE Conectar_AbrirTabla( cTabla, cAlias )
USE ( cTabla ) NEW ALIAS ( cAlias ) SHARED
IF nServer == ADS_AIS_SERVER
AdsCacheRecords( 100 )
ENDIF
RETURN
/*-------------------------------------------------------------------------------------------------*/
PROC Adt2Dbf()
SELECT CTRL
Mig("control")
SELECT USUA
Mig("usuarios")
SELECT FERI
Mig("feriados")
SELECT PLAZ
Mig("plazos")
SELECT ZONA
Mig("zonas")
SELECT CIUD
Mig("ciudades")
SELECT GEST
Mig("gestores")
SELECT COBR
Mig("cobradores")
SELECT RUTA
Mig("rutas")
SELECT CLIE
Mig("clientes")
SELECT PROG
Mig("programacion")
SELECT PBAK
Mig("programacion_bak")
SELECT PRES
Mig("prestamos")
SELECT DIFE
Mig("diferidos")
SELECT MOVI
Mig("movimientos")
SELECT FLUJ
Mig("flujos")
SELECT MCXR
Mig("mcobrosxruta")
SELECT DCXR
Mig("dcobrosxruta")
SELECT CAJA
Mig("caja")
SELECT CXDI
Mig("cobroxdia")
SELECT CXDC
Mig("cobroxdiac")
SELECT CXDT
Mig("cobroxdiat")
RddSetDefault( "ads" )
RETURN
/*-------------------------------------------------------------------------------------------------*/
PROC Mig(cTabla)
LOCAL cOldAlias := Alias()
LOCAL xT,xT1
LOCAL aTab
LOCAL n,o,i
aTab := DBStruct()
FOR x:=1 TO Len( aTab )
IF aTab[ x, 2 ]="D"
aTab[ x, 3 ]=8
ENDIF
NEXT
DbCreate( "d:\dbc\" + (cTabla), aTab, "DBFCDX", .T. )
USE ( "d:\dbc\" + (cTabla) ) ALIAS TEMP VIA "dbfcdx"
// SELECT (cAlias)
//
// n:=1
// DO WHILE .T.
// IF Empty( OrdName(n) )
// EXIT
// ENDIF
// TRY
// TEMP->( OrdCondSet((cAlias)->( OrdFor(n)),,.t.,,,, nil, nil, nil, nil,, nil, .F., .F., .F., .F.))
// TEMP->( dbGoTop() )
// TEMP->( ordCreate(,(cAlias)->( OrdName(n) ), (cAlias)->( OrdKey(n) ), &("{||"+(cAlias)->( OrdKey(n) )+"}") ))
// CATCH o
// SELECT (cAlias)
// ?cTabla,(cAlias)->( OrdName(n) ), (cAlias)->( ordKey(n) )
// END
// ++n
// ENDDO
SELECT ( cOldAlias )
WaitOn("Procesando: " + cTabla )
i:=0
GO TOP
DO WHILE !Eof()
TEMP->( DBAppend() )
FOR x:=1 TO FCount()
xT := FieldGet( x )
TEMP->( FieldPut( x, xT ) )
NEXT
SKIP
IF Mod( ++i, 100 )=0
SysRefresh()
ENDIF
ENDDO
WaitOff()
TEMP->( DBCloseArea() )
SELECT (cOldAlias)
RETURN
...
aTab := DBStruct()
Fwdbg aTab
FOR x:=1 TO Len( aTab )
IF aTab[ x, 2 ]="D"
aTab[ x, 3 ]=8
ENDIF
NEXT
...
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 45 guests