Pack em arquivos que contém campo memo (DBT)

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Walter Tanaka
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 21 Set 2004 09:05

Pack em arquivos que contém campo memo (DBT)

Mensagem por Walter Tanaka »

Alguém poderia me informar como devo proceder p/ que quando efetuo um pack num arquivo DBF que contenha campo memo, o respectivo DBT também seja afetado pelo pack ?
josenilson neiva
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 14 Set 2004 11:21

Mensagem por josenilson neiva »

Amigo,

infelizmente o comando Pack do clipper nao limpa os arquivos .dbt

Para solucionar este problema faça o seguinte:

1) Ao invés do Pack, utilize o comando COPY TO para copiar os registros não deletados para um arquivo temporario.

Exemplo: (limpar os arquivos chamados exemplo.dbf e exemplo.dbt)

Use Exemplo.dbf New Exclusive
Copy to ArqTemp.dbf for .not. deleted()

2) Depois apague os arquivos dbf e dbt originais e renomeie os arquivos temporarios para os nomes dos arquivos originais.

Continuando o exemplo acima:

FErase( "Exemplo.dbf" )
FErase( "Exemplo.dbt" )
FRename( "ArqTemp.dbf" , "Exemplo.dbf" )
FRename( "ArqTemp.dbt" , "Exemplo.dbt" )
reinaldo
Usuário Nível 3
Usuário Nível 3
Mensagens: 105
Registrado em: 02 Mai 2005 13:08
Localização: santos/sp

Pack em arquivos que contém campo memo (DBT)

Mensagem por reinaldo »

Valeu pela dica Josenilson (16 anos depois)
Responder