Re: RES: [delphi-br] Banco de Dados Access 97
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
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
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