Excluir registros e organizar arquivos
Moderador: Moderadores
-
Josmar dos Santos
- Usuário Nível 3

- Mensagens: 277
- Registrado em: 11 Jan 2006 18:36
- Localização: Botucatu-SP
Excluir registros e organizar arquivos
Ola pessoal, to quase la, ja consegui converter arquivos DBT para FPT e também com a ajuda dos colegas migrar ntx para cdx. So falta uma coisa agora: preciso de uma rotina q exclui registros q desejo do arquivo e organize o mesmo. Ja consigo marcar ele com o delete...preciso agora utilizar creio eu o pack !
sem mais obrigado
josmar
sem mais obrigado
josmar
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Excluir registros e organizar arquivos
Olá!
Você já deu uma das possíveis respostas, o comando Pack, embora esse comando não seja recomendado por muitos.
O ideal mesmo seria criar um arquivo novo com a mesma estrutura e gravar os registros não deletados. Feito isto, é só recriar os índices.
Você já deu uma das possíveis respostas, o comando Pack, embora esse comando não seja recomendado por muitos.
O ideal mesmo seria criar um arquivo novo com a mesma estrutura e gravar os registros não deletados. Feito isto, é só recriar os índices.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
Josmar dos Santos
- Usuário Nível 3

- Mensagens: 277
- Registrado em: 11 Jan 2006 18:36
- Localização: Botucatu-SP
Re: Excluir registros e organizar arquivos
Ola alxsts, mas te pergunto: como se faz isso ?? daria para fazer dar um exemplo ?
Josmar
Josmar
-
sambomb
- Usuário Nível 3

- Mensagens: 250
- Registrado em: 24 Out 2008 17:02
- Localização: Itaocara - RJ - Brasil
Re: Excluir registros e organizar arquivos
para dar o "pack" basta abrir o arquivo em modo exclusivo
o nome do comando é pack
Exemplo
//--Abre em modo exclusivo
OpenDBF("PRODUTO",.T.)
Select PRODUTO
Pack
DbCloseAll()
o nome do comando é pack
Exemplo
//--Abre em modo exclusivo
OpenDBF("PRODUTO",.T.)
Select PRODUTO
Pack
DbCloseAll()

Rca Sistemas - Itaocara - RJ
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Re: Excluir registros e organizar arquivos
Exemplo:
SET DELETE ON // quando apenas é deletado o registro este comando, não processa, não aparece
SELE 1 // seleciona area
USE CLIENTES // abre o banco de dados de forma exclusiva
GOTO 4 // Posicionar no registro desejado para ser deletado. Neste caso no registro 4 como exemplo
DELETE // marca o registro para ser eliminado. Marcado como "deleted"
PACK // remove fisicamente o registro que foi marcado como "deleted"
O sistema em rede, fazer o PACK não é aconselhado como os colegas ja falaram. Pois exige que todo mundo saia do sistema para ser removido fisicamente (ja pensou nisso ?).Mas você pode marca-los como "deleted" e até mesmo reutilizá-los. Por exemplo num TBROWSE os registros deletados somem quando pressionado a tecla delete, mas o SET DELETE tem que estar ON. Ja para reutilizar um registro deletado, você primeiro deleta, depois ao invés de utilizar o APPEND BLANK para adicionar registro em branco no final, você apenas ressucita o registro deletado com o comando RECALL e depois faz o REPLACEs normalmente. Não sei se confundí mais a idéia de remoção de registro ou de aproveitamento...
Obs.: Mensagem reditada para corrigir o RECALL que antes estava trocado por outro comando errado.
SET DELETE ON // quando apenas é deletado o registro este comando, não processa, não aparece
SELE 1 // seleciona area
USE CLIENTES // abre o banco de dados de forma exclusiva
GOTO 4 // Posicionar no registro desejado para ser deletado. Neste caso no registro 4 como exemplo
DELETE // marca o registro para ser eliminado. Marcado como "deleted"
PACK // remove fisicamente o registro que foi marcado como "deleted"
O sistema em rede, fazer o PACK não é aconselhado como os colegas ja falaram. Pois exige que todo mundo saia do sistema para ser removido fisicamente (ja pensou nisso ?).Mas você pode marca-los como "deleted" e até mesmo reutilizá-los. Por exemplo num TBROWSE os registros deletados somem quando pressionado a tecla delete, mas o SET DELETE tem que estar ON. Ja para reutilizar um registro deletado, você primeiro deleta, depois ao invés de utilizar o APPEND BLANK para adicionar registro em branco no final, você apenas ressucita o registro deletado com o comando RECALL e depois faz o REPLACEs normalmente. Não sei se confundí mais a idéia de remoção de registro ou de aproveitamento...
Obs.: Mensagem reditada para corrigir o RECALL que antes estava trocado por outro comando errado.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Excluir registros e organizar arquivos
Olá!
UInPack? Esse é novo para mim. Conheço Recall ou __dbRecall().
UInPack? Esse é novo para mim. Conheço Recall ou __dbRecall().
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Excluir registros e organizar arquivos
Olá!
Existe um material muito bom sobre o assunto (creio que muitos já o conhecem), neste link . Nesta página, existe um outro link (Record Recycling) que dá uma aula sobre a técnica de reciclagem de registros.
Como é uma raridade, seria interessante salvar o material antes que desapareça...
(link 1 = http://www.ghservices.com/gregh/clipper/trix0006.htm)
(link 2 = http://www.ghservices.com/gregh/clipper/trix0007.htm)
Existe um material muito bom sobre o assunto (creio que muitos já o conhecem), neste link . Nesta página, existe um outro link (Record Recycling) que dá uma aula sobre a técnica de reciclagem de registros.
Como é uma raridade, seria interessante salvar o material antes que desapareça...
(link 1 = http://www.ghservices.com/gregh/clipper/trix0006.htm)
(link 2 = http://www.ghservices.com/gregh/clipper/trix0007.htm)
- Anexos
-
The_Holmes_Page.zip- Página original e traduzido dos links indicados pelo Alexandre
- (443.5 KiB) Baixado 172 vezes
Editado pela última vez por Toledo em 05 Ago 2010 08:33, em um total de 1 vez.
Razão: Esta mensagem foi editada para anexar os arquivos que estão nos links indicados pelo Alexandre. Assim este material estará a salvo!
Razão: Esta mensagem foi editada para anexar os arquivos que estão nos links indicados pelo Alexandre. Assim este material estará a salvo!
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
Josmar dos Santos
- Usuário Nível 3

- Mensagens: 277
- Registrado em: 11 Jan 2006 18:36
- Localização: Botucatu-SP
Re: Excluir registros e organizar arquivos
Ok garotos, vou recolher todo esse material eu vou fazer um estudo sobre esse assunto....
Por enquanto, obrigado
josmar
Por enquanto, obrigado
josmar
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Excluir registros e organizar arquivos
KAKAKA... falha minha... hihihi desculpem acho que foi força dohabito ficar inventando comandos... rsss acho que foi efeito do grande resfriado que peguei... na verdade quis dizer recall como o colega disse. Desculpe, ja consertei o meu erro.UInPack? Esse é novo para mim. Conheço Recall ou __dbRecall().
Legal o material encontrado, Alexandre. Era sobre isso que eu me referia e nessas páginas explicam bem o dois casos que você disponibilizou em forma de PDF, valeu para posterior consulta.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Excluir registros e organizar arquivos
Olá!
Buenas Pablo, não "esquente a cuca"... Viu que eu errei também? __dbRecall() não existe. É DbRecall(). E eu nem estava gripado...
Toledo, grande intervenção. Não salvei por falta de tempo no momento mas alertei do perigo de sumir... Realmente o material é muito bom.
Buenas Pablo, não "esquente a cuca"... Viu que eu errei também? __dbRecall() não existe. É DbRecall(). E eu nem estava gripado...
Toledo, grande intervenção. Não salvei por falta de tempo no momento mas alertei do perigo de sumir... Realmente o material é muito bom.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Re: Excluir registros e organizar arquivos
Deixo minha experiência. Talvez sirva para alguém. Sempre que apago, limpo todos os campos (função própria para isso) e marco o desalmado como apagado. No meu sistema de trabalho, sempre tenho a última chave de índice preparada para levar ao topo os registros marcados como apagados. Assim, ao reciclar, aponto para a última chave do índice e se estiver no topo um dos "excluídos", reaproveito, apenas removendo a marca. Equivale a um append blank. Só que mais simples, prático e rápido. Agora, pack, jamais. Com o uso de funções apropriadas, tanto o apagamento quanto a reciclagem ocorrem de forma transparente. Inclusive, pode-se até modificar os comandos delete e append blank do STD.CH para fazer todo o processo de forma invisível. E sem modificar linha alguma do fonte original.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Excluir registros e organizar arquivos
Amiguinhos,
Eu raramente ou nunca uso o PACK, inclusive os unicos lugares que encontrei o comando foram em rotinas não usadas.
A idéia da deleção e limpeza dos campos para reutilização posterior no meu caso não serviria no primeiro momento, pois o registro deletado pode ter sido efetivado de forma erronea.
Analisando as postagens aqui e as informações na Holmes Page vejo que para mim, ao invés de modificar os comandos e funções de deleção eu modificaria o comando ou função PACK.
Pois somente neste momento eu estaria realmente eliminando ou descartando os registros usando a técnica de limpeza dos registros.
Eu raramente ou nunca uso o PACK, inclusive os unicos lugares que encontrei o comando foram em rotinas não usadas.
A idéia da deleção e limpeza dos campos para reutilização posterior no meu caso não serviria no primeiro momento, pois o registro deletado pode ter sido efetivado de forma erronea.
Analisando as postagens aqui e as informações na Holmes Page vejo que para mim, ao invés de modificar os comandos e funções de deleção eu modificaria o comando ou função PACK.
Pois somente neste momento eu estaria realmente eliminando ou descartando os registros usando a técnica de limpeza dos registros.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Excluir registros e organizar arquivos
Eu não descartaria a utilização do PACK como uma opção do sistema, pois em eventuais casos de manutenção do BD o seu uso eu recomendo, claro que com toda prevenção possível (só administradores, dar um aviso que registros não poderão ser recuperados, que todo mundo esteja fora do sistema) enfim manutenção as vezes é necessário fazer. No meu sistema, quando algo acontece, como por exemplo abortou o sistema, sequência perdida, corrompeu indices: o bd passa por umas rotinas de verificação e limpeza e indexação no caso.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
