Re: RES: [delphi-br] Banco de Dados Access 97

2005-09-22 Por tôpico Cristina

Valeu pela dica, achei um procedimento que faz isso.

Luciano Faria escreveu:

> Olá
>
> Entre em Ferramentas...Utilitários Bancos de Dados Compactar Banco de
> Dados
>
> Luciano Faria
>
> -Mensagem original-
> De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
> nome de Cristina
> Enviada em: quarta-feira, 21 de setembro de 2005 15:38
> Para: delphi-br@yahoogrupos.com.br
> Assunto: [delphi-br] Banco de Dados Access 97
>
> Olá pessoal,
>   
> Inseri em uma tabela 100.000 registros para testar a sua 
> funcionalidade,
> onde o tamanho do banco ficou com 37Mbytes, mas após ter excluído estes
> 100.000 registros o tamanho do banco permaneceu o mesmo, sem nenhuma
> alteração.
>
> Alguém sabe o que está acontecendo, tenho que fazer mais alguma coisa
> além do Delete?
>
> -- 
>
> Atenciosamente
> 
> Cristina Orthmann da Silva
> HACON Automação e Tecnologia Ltda
> Rua Lauro Linhares 589 - Bairro Trindade Florianópolis - SC - Brasil CEP
> 88036-001
> Fone/Fax: 55 48 333-0699
> Site: http://www.hacon.com.br/
> Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> 
>
>
>
> --
>
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:*
>
>
> *Links do Yahoo! Grupos*
>
> * Para visitar o site do seu grupo na web, acesse:
>   http://br.groups.yahoo.com/group/delphi-br/
>
> * Para sair deste grupo, envie um e-mail para:
>   [EMAIL PROTECTED]
>   <mailto:[EMAIL PROTECTED]>
>
> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>   Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>

-- 

Atenciosamente

Cristina Orthmann da Silva
HACON Automação e Tecnologia Ltda
Rua Lauro Linhares 589 - Bairro Trindade
Florianópolis - SC - Brasil
CEP 88036-001
Fone/Fax: 55 48 333-0699
Site: http://www.hacon.com.br/
Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] Banco de Dados Access 97

2005-09-22 Por tôpico Cristina
Oi Ulisses,

Lembrei que havia guardado o seu email anteriormente, pois achava 
que um dia eu iria precisar, e acertei.

Já implementei e está funcionando.



Ulisses escreveu:

> Bom dia, Cristina! Tudo bem?
>
> Eu já havia comentado com você a respeito de compactar uma tabela do 
> Access, mas acho que na época você não percebeu a importância.
>
> De qualquer forma, estou enviando um procedure que você pode incluir 
> no seu aplicativo.
>
> Leia as observações no código, para adaptá-lo para o Access 97.
>
> Pra executar esse procedure, o bando de dados não poderá estar sendo 
> usado por ninguém.
>
> Boa sorte.
>
> Ulisses
>
> procedure CompactaMDB(Const PathDb :String);
> function GetADOObject(ADOClass: string): OLEVariant;
> var o: OLEVariant;
> begin
> try
>   o := CreateOLEObject(ADOClass);
> except on EOleException do
> end;
> Result := o;
> end;
>
> var db: OleVariant;
> begin
> db := GetADOObject('JRO.JetEngine');
> db.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;' +
> 'Data Source=' + PathDb + ';Jet OLEDB:Database Password="";',
> 'Provider=Microsoft.Jet.OLEDB.4.0;' +
> 'Data Source=' + ExtractFilePath(PathDb) + 'novobd.mdb' +
> ';Jet OLEDB:Database Password=""' +
> ';Jet OLEDB:Engine Type=5'); // 4 se for Access 97
> if not DeleteFile(PathDb) then  // deleta bd antigo
>   begin
>   ShowMessage('Ocorreram problemas renomeando os arquivos 
> temporários!'+ #13 + 'A operação foi cancelada.');
>   DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');// deleta 
> arquivos temporarios
>   exit;
>   end;
> RenameFile(ExtractFilePath(PathDb) + 'novoBD.mdb', PathDb); 
> //file://renomeia bd compactado
> DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');
> end;
>
> - Original Message -
> From: "Cristina" <[EMAIL PROTECTED]>
> To: 
> Sent: Wednesday, September 21, 2005 3:38 PM
> Subject: [delphi-br] Banco de Dados Access 97
>
>
> > Olá pessoal,
> >   
> > Inseri em uma tabela 100.000 registros para testar a sua
> > funcionalidade, onde o tamanho do banco ficou com 37Mbytes, mas após 
> ter
> > excluído estes 100.000 registros o tamanho do banco permaneceu o mesmo,
> > sem nenhuma alteração.
> >
> > Alguém sabe o que está acontecendo, tenho que fazer mais alguma
> > coisa além do Delete?
> >
> > --
> >
> > Atenciosamente
> > 
> > Cristina Orthmann da Silva
> > HACON Automação e Tecnologia Ltda
> > Rua Lauro Linhares 589 - Bairro Trindade
> > Florianópolis - SC - Brasil
> > CEP 88036-001
> > Fone/Fax: 55 48 333-0699
> > Site: http://www.hacon.com.br/
> > Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> > 
> >
> >
> >
> > --
> > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> >
> > Para ver as mensagens antigas, acesse:
> >  http://br.groups.yahoo.com/group/delphi-br/messages
> >
> > Para falar com o moderador, envie um e-mail para:
> >  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> > 
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> > 
> >
> >
>
>
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Para ver as mensagens antigas, acesse:
> http://br.groups.yahoo.com/group/delphi-br/messages
>
> Para falar com o moderador, envie um e-mail para:
> [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>
>
>
> *Yahoo! Grupos, um serviço oferecido por:*
>
>
> 
> *Links do Yahoo! Grupos*
>
> * Para visitar o site do seu grupo na web, acesse:
>   http://br.groups.yahoo.com/group/delphi-br/
>
> * Para sair deste grupo, envie um e-mail para:
>   [EMAIL PROTECTED]
>   <mailto:[EMAIL PROTECTED]>
>
> * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>   Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>

-- 

Atenciosamente

Cristina Orthmann da Silva
HACON Automação e Tecnologia Ltda
Rua Lauro Linhares 589 - Bairro Trindade
Florianópolis - SC - Brasil
CEP 88036-001
Fone/Fax: 55 48 333-0699
Site: http://www.hacon.com.br/
Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [delphi-br] Banco de Dados Access 97

2005-09-22 Por tôpico Ulisses
Bom dia, Cristina! Tudo bem?

Eu já havia comentado com você a respeito de compactar uma tabela do Access, 
mas acho que na época você não percebeu a importância.

De qualquer forma, estou enviando um procedure que você pode incluir no seu 
aplicativo.

Leia as observações no código, para adaptá-lo para o Access 97.

Pra executar esse procedure, o bando de dados não poderá estar sendo usado por 
ninguém.

Boa sorte.

Ulisses

procedure CompactaMDB(Const PathDb :String);
function GetADOObject(ADOClass: string): OLEVariant;
var o: OLEVariant;
begin
try
  o := CreateOLEObject(ADOClass);
except on EOleException do
end;
Result := o;
end;

var db: OleVariant;
begin
db := GetADOObject('JRO.JetEngine');
db.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;' +
 'Data Source=' + PathDb + ';Jet OLEDB:Database Password="";',
 'Provider=Microsoft.Jet.OLEDB.4.0;' +
 'Data Source=' + ExtractFilePath(PathDb) + 'novobd.mdb' +
 ';Jet OLEDB:Database Password=""' +
 ';Jet OLEDB:Engine Type=5'); // 4 se for Access 97
if not DeleteFile(PathDb) then  // deleta bd antigo
  begin
  ShowMessage('Ocorreram problemas renomeando os arquivos temporários!'+ #13 + 
'A operação foi cancelada.');
  DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');// deleta arquivos 
temporarios
  exit;
  end;
RenameFile(ExtractFilePath(PathDb) + 'novoBD.mdb', PathDb); //file://renomeia 
bd compactado
DeleteFile(ExtractFilePath(PathDb) + 'novobd.mdb');
end;

- Original Message - 
From: "Cristina" <[EMAIL PROTECTED]>
To: 
Sent: Wednesday, September 21, 2005 3:38 PM
Subject: [delphi-br] Banco de Dados Access 97


> Olá pessoal,
>
> Inseri em uma tabela 100.000 registros para testar a sua 
> funcionalidade, onde o tamanho do banco ficou com 37Mbytes, mas após ter 
> excluído estes 100.000 registros o tamanho do banco permaneceu o mesmo, 
> sem nenhuma alteração.
> 
> Alguém sabe o que está acontecendo, tenho que fazer mais alguma 
> coisa além do Delete?
> 
> -- 
> 
> Atenciosamente
> 
> Cristina Orthmann da Silva
> HACON Automação e Tecnologia Ltda
> Rua Lauro Linhares 589 - Bairro Trindade
> Florianópolis - SC - Brasil
> CEP 88036-001
> Fone/Fax: 55 48 333-0699
> Site: http://www.hacon.com.br/
> Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> 
> 
> 
> 
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> 
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
> 
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html