Não é exatamente um passo a passo.
Criei a tabela no SQL.
Agora criei a conversão:
STATIC FUNCTION Update0925E()
IF ! File( "jpcontabil.dbf" )
RETURN Nil
ENDIF
IF ! AbreArquivos( "jpcontabil" )
QUIT
ENDIF
GOTO TOP
DO WHILE ! Eof()
IF ADORecCount( "JPCONTABIL", "IDCONTABIL=" + NumberSQL( jpcontabil->idContabil ) ) == 0
:QueryAdd( "IDCONTABIL", jpcontabil->IDCONTABIL )
:QueryAdd( "CTLOTE", jpcontabil->CTLOTE )
:QueryAdd( "CTLANC", jpcontabil->CTLANC )
:QueryAdd( "CTMOV", jpcontabil->CTMOV )
:QueryAdd( "CTPARTIDA", jpcontabil->CTPARTIDA )
:QueryAdd( "CTDATA", jpcontabil->CTDATA )
:QueryAdd( "CTCTADEB", jpcontabil->ctCtaDeb )
:QueryAdd( "CTCTACRE", jpcontabil->ctCtaCre )
:QueryAdd( "CTDEBCRE", jpcontabil->CTDEBCRE )
:QueryAdd( "CTCONTA1", jpcontabil->CTCONTA1 )
:QueryAdd( "CTCCONTA", jpcontabil->CTCCONTA )
:QueryAdd( "CTTEXTO", jpcontabil->CTTEXTO )
:QueryAdd( "CTVALOR", jpcontabil->CTVALOR )
:QueryAdd( "CTCCUSTO", jpcontabil->CTCCUSTO )
:QueryAdd( "CTCONTRA", jpcontabil->CTCONTRA )
:QueryAdd( "CTCONTA2", jpcontabil->CTCONTA2 )
:QueryAdd( "CTBAIXA", jpcontabil->CTBAIXA )
:QueryAdd( "CTINFINC", jpcontabil->CTINFINC )
:QueryAdd( "CTINFALT", jpcontabil->CTINFALT )
:QueryExecuteInsert( "JPCONTABIL" )
ENDIF
SKIP
ENDDO
GOTO TOP
lDelete := Eof()
IF lDelete
fErase( "jpcontabil.dbf" )
ENDIF
RETURN Nil
Em seguida vou alterar aonde grava, pra atualizar simultâneo DBF e SQL.
Isso significa que segunda feira vai estar rodando nos clientes.
Sua pergunta, se vale a pena, acabou me chamando a atenção sobre isso.
Segunda feira toda contabilidade estará em DBF e em SQL.
Os relatórios NÃO alterados, vão buscar informação de DBF.
Cada relatório que eu alterar, vai buscar informação do SQL.
Trata-se apenas de alterar e colocar em funcionamento.
Eu acho que vale a pena, porque está pronto, ao mesmo tempo que não está pronto.
Está pronto no sentido de que tudo continua funcionando.
Posso esquecer que DBF existe, mesmo ele existindo.
Posso usar todos os relatórios em DBF, mesmo estando tudo em SQL.
A partir daÃ, é questão de tempo, é ir alterando e colocando em prática.
Este é o ponto:
Temos mais consultas do que gravações, então, alterar as gravações é rápido.
Gravando em DBF e em SQL... tá tudo liberado pra fazer o que quiser, quando quiser.