Página 1 de 1
Copiar dbf para dbf
Enviado: 07 Jun 2011 14:08
por Antonio Matheus
Boa tarde amigos venho atraves deste pedir mais um auxilio, como copiar registros de um dbf para outro dbf
ex: arq1.dbf tem codigo,nome e etc, eu queria copiar so o codigo para o arq2.dbf como posso fazer isto eu ja vi um artigo aqui no forum mas nao encontro
desde ja agradeco a colaboracao
um clip abraco
Copiar dbf para dbf
Enviado: 07 Jun 2011 15:24
por Jairo Maia
Olá Antonio,
Considerando que queira uma cópia exata, tente assim:
Código: Selecionar todos
Cls
Use Arq1
Sele 0
Use Arq2
Zap
Sele Arq1
Whil !Eof()
For i=1 To Fcou()
msg=Fiel(i)
M->&msg.=&msg.
Next
Sele Arq2
Append Blank
For i=1 To Fcou()
msg=Fiel(i)
Repl &msg. With M->&msg.
Next
@ 2,2 say "Transferidos => " + Str(++conta)
Sele Arq1
Skip
EndDo
COMMIT
Copiar dbf para dbf
Enviado: 07 Jun 2011 20:40
por Pablo César
Antonio,
Considerando que o campo codigo esteja presente nos dois dbfs e que tenha a mesma estrutura (nome, tipo e tamanho) e é apenas o campo código para appendar (adicionar no final do dbf2) você poderia fazer assim:
use arq2
append from arq1 fields codigo
Copiar dbf para dbf
Enviado: 08 Jun 2011 16:20
por Antonio Matheus
Boa tarde eu nao fui tao claro, e seguinte eu tenho bd na qual tem varios registros este registros estao por categorias, ex : medicamentos, perfumaria , acessorios, genericos e varejo, porem o que eu quero fazer e o seguinte copiar so registros da perfumaria como proceder?
Segunda duvida e a seguinte, no bd tem cod,nome,custo,venda,estoque e cod_aux, como eu faco para copiar so o campo custo ou so o campo estoque?
desde agradeco a colaboracao de todos
ps eu sou um estudante didatico desta maravilhosa programacao
Copiar dbf para dbf
Enviado: 08 Jun 2011 17:07
por Pablo César
Favor liste a estrutura dos arquivos dbf 1 e 2. Pode utilizar este
utilitário para copiar e colar na sua proxima mensagem. Daí teremos com exatidão nome, tipo e como fazer para dar nossa indicação.
Copiar dbf para dbf
Enviado: 09 Jun 2011 08:03
por anacatacombs
Antonio Matheus escreveu:u tenho bd na qual tem varios registros este registros estao por categorias, ex : medicamentos, perfumaria , acessorios, genericos e varejo, porem o que eu quero fazer e o seguinte copiar so registros da perfumaria como proceder?
Você deve fazer um filtro condicional antes de repassar para o banco de dados.
Pode utilizar o exemplo que o colega Jairo postou, mas antes de fazer o replace, basta fazer um filtro e fica tudo numa boa, mas antes é necessário estudar a estrutura do arquivo DBF e verificar qual a condição dos registros de perfumaria, pelo que você postou, pode ser o campo cod_aux...
Para repassar APENAS o campo custo, por exemplo:
Código: Selecionar todos
USE <ArquivoDestino> NEW
USE <ArquivoOrigem> NEW
GO TOP
DO WHILE !EOF()
// aqui deve ficar seu filtro para adicionar apenas os de perfumaria.
// vai ser algo parecido com:
// IF "não for perfumaria"
// SKIP -> passa para o proximo registro
// LOOP -> volta pro inicio do do while
// ENDIF
SELECT <ArquivoDestino>
APPEND BLANK
REPLACE <VariaveldoCusto> WITH <ArquivoOrigem> -> <VariavelDoCusto>
SELECT <ArquivoOrigem>
SKIP
ENDDO
DBCOMMIT()
Isso funciona se quiser adicionar apenas o custo, e não altera-lo.