Apenas para deixar registrado.
Precisei acessar e importar umas tabelas grandes em MDB Access, usando o Harbour SVN 2.1 RDDSQL + SQLMIX
Código: Selecionar todos
***********************************
Static Function ImportaOrdemCompras
***********************************
*
*
Local n:=0
cRdd := RDDSETDEFAULT( "SQLMIX" )
FechaDb('oc')
AbreDb('OrdemCompras.dbf','oc',.f.)
zap
nConn := RDDINFO( RDDI_CONNECT, { "ODBC", "DBQ=C:\integro\NCX\NCX.MDB;Driver={Microsoft Access Driver (*.mdb)}" } )
IF nConn == 0
Msginfo( "Não conectado ao servidor: ", RDDINFO( RDDI_ERRORNO ), RDDINFO( RDDI_ERROR ) )
RETURN
ENDIF
DBUSEAREA( .T.,"SQLMIX", "select * from Compra", "nct" )
nct->(DbGoTop())
Do While nct->(!eof())
Incluir('oc')
oc->numero := strzero(nct->id_CompraOrdem,6)
oc->cod_fornec := strzero(nct->id_Fornecedor,6)
oc->cod_fazend := strzero(nct->id_Propriedade,6)
oc->tipopgto := str(nct->tipopagamento,1)
oc->data := nct->data
oc->banco := str(nct->id_banco,3)
oc->agencia := str(nct->id_agenciabancaria,5)
oc->conta := str(nct->id_contacorrente,5)
oc->cheque := str(nct->id_numerocheque,10)
oc->nf_oc := nct->NumeroNotaFiscal
oc->valor := nct->ValorUnitario
oc->quantidade := nct->quantidade
oc->total := nct->valortotal
nct->(DbSkip())
EndDo
FechaDb('nct')
FechaDb('oc')
RddInfo(RDDI_DISCONNECT)
AbreDb('ordemcompras.dbf','oc',.t.)
RDDSETDEFAULT( cRdd )
Saudações,
Itamar M. Lins Jr.

