lcImportFromDir = "C:\TEST_MDB\"
lcExportToDir = "C:\TEST_DBF\"
lcOpenMDB = (SYS(2000,(lcImportFromDir + ("*.mdb"))))
DO WHILE ! EMPTY(lcOpenMDB )
lcExportTableName = LEFTC(lcOpenMDB,(AT(".",lcOpenMDB)-1))
lnConnHandle = SQLSTRINGCONNECT('DSN=MS Access Database;DBQ=' + lcImportFromDir + lcOpenMDB + '; DefaultDir=' + lcImportFromDir + ';DriverId=25;FIL=MS Access; MaxBufferSize=2048; PageTimeout=5; UID=admin;')
SQLTABLES(lnConnHandle, ['TABLE'], 'ThisMDB')
SELECT ThisMDB
SCAN
lcSQL = 'SELECT * FROM "' + ALLTRIM(table_name) + '"'
lcCursor = ALLTRIM(table_name)
lcTableName = LEFTC(lcOpenMDB,(AT(".",lcOpenMDB)-1)) + '^' + lcCursor
SQLEXEC(lnConnHandle,lcSQL,lcCursor)
SELECT (lcCursor)
COPY TO (lcExportToDir + lcTableName)
USE IN (lcCursor)
ENDSCAN
USE IN ThisMDB
SQLDISCONNECT(lnConnHandle)
lcOpenMDB = (SYS(2000,(lcImportFromDir + ("*.mdb")),1))
ENDDO