RE:Migracion de Tabla *.mdb a Clarion4
Hola Raul espero esyo te sirva lo metes en un proyecto y activas los drivers TPS y el ODBC para Access
Saludos Joan.
PROGRAM
MAP
CheckError(),LONG
END
SourceName STRING(260)
TargetName STRING(260)
Count ULONG
Tabla1 FILE,DRIVER('ODBC'),NAME(SourceName),OWNER('MS Access Database'),PRE(IN)
RECORD RECORD
FIRST STRING(20)
LAST STRING(20)
STREET STRING(30)
CITY STRING(30)
STATE STRING(2)
ZIP STRING(10)
HIREDATE STRING(8)
HIREDATE_GROUP GROUP,OVER(HIREDATE)
HIREDATE_DATE DATE
HIREDATE_TIME TIME
END
MARRIED BYTE
AGE REAL
SALARY REAL
NOTES STRING(70)
END
END
Tabla2 FILE,DRIVER('TOPSPEED'),NAME(TargetName),CREATE,PRE(Tab2)
RECORD RECORD
FIRST STRING(20)
LAST STRING(20)
STREET STRING(30)
CITY STRING(30)
STATE STRING(2)
ZIP STRING(10)
HIREDATE STRING(8)
HIREDATE_GROUP GROUP,OVER(HIREDATE)
HIREDATE_DATE DATE
HIREDATE_TIME TIME
END
MARRIED BYTE
AGE REAL
SALARY REAL
NOTES STRING(70)
END
END
PROGRESS WINDOW('Converting File'),AT(,,107,33),FONT('MS Sans Serif',8),GRAY,CENTER,DOUBLE
STRING('Converting Record #:'),AT(4,13,,)
STRING(@n8),AT(74,12,24,12),USE(Count)
END
CODE
SourceName = 'Tabla1'
TargetName = 'Tabla2'
OPEN(Tabla1)
IF CheckError() THEN RETURN.
SET(Tabla1)
CREATE(Tabla2)
IF CheckError() THEN RETURN.
OPEN(Tabla2)
IF CheckError() THEN RETURN.
STREAM(Tabla1)
STREAM(Tabla2)
OPEN(Progress)
LOOP
NEXT(Tabla1)
IF ErrorCode() = 33 THEN BREAK.
DO AssignRecord
APPEND(Tabla2)
IF CheckError() THEN RETURN.
Count += 1
DISPLAY(?Count)
END
FLUSH(Tabla1)
FLUSH(Tabla2)
BUILD(Tabla2)
IF CheckError() THEN RETURN.
CLOSE(Tabla1)
CLOSE(Tabla2)
AssignRecord ROUTINE
CLEAR(Tab2:Record)
Tab2:FIRST = IN:FIRST
Tab2:LAST = IN:LAST
Tab2:STREET = IN:STREET
Tab2:CITY = IN:CITY
Tab2:STATE = IN:STATE
Tab2:ZIP = IN:ZIP
Tab2:HIREDATE = IN:HIREDATE
Tab2:HIREDATE_DATE = IN:HIREDATE_DATE
Tab2:HIREDATE_TIME = IN:HIREDATE_TIME
Tab2:MARRIED = IN:MARRIED
Tab2:AGE = IN:AGE
Tab2:SALARY = IN:SALARY
Tab2:NOTES = IN:NOTES
CheckError FUNCTION
CODE
IF ERRORCODE() THEN
IF ERRORCODE() = 90 THEN
IF MESSAGE('Error: '& FILEERROR()) THEN
RETURN ERRORCODE()
END
ELSE
IF MESSAGE('Error: '& ERROR()) THEN
RETURN ERRORCODE()
END
END
END
RETURN 0