MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Compactação de Banco de Dados

    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Compactação de Banco de Dados Empty [Resolvido]Compactação de Banco de Dados

    Mensagem  Maurício Bruno 13/9/2017, 16:35

    Boa Tarde!

    Já pesquisei em todos os lugares e olhei todos os tópicos relacionados a compactação e não encontrei uma solução.

    Tenho uma projeto que é utilizado multiusuários onde utilizado o código abaixo, porém, quando utiliza este comando para compactar o banco de dados ele apresenta um erro "Não é possível compactar o banco de dados aberto (...)"

    Código:
    DoCmd.RunCommand acCmdCompactDatabase

    Gostaria de uma orientação e uma ajuda para compactar tanto o Back Front como o Back End com a aplicação aberta.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  JPaulo 14/9/2017, 14:07

    Só testei no Ms Access 2010;

    Código:
    Private Sub SeuBotao_Click()
    'www.maximoaccess.com
    'Testado no Ms Access 2010
    Dim frm As Form
    Dim rpt As Report
    On Error Resume Next
    For Each frm In Forms
       DoCmd.Close acForm, frm.Name, acSaveNo
    Next frm
    For Each rpt In Reports
       DoCmd.Close acReport, rpt.Name, acSaveNo
    Next rpt
        SendKeys "%F{TAB}{TAB}{ENTER}"
    End Sub

    Mas....
    Em ambiente multiusuário, a operação de compactação não é bem-sucedida se outro usuário abriu o banco de dados.

    Os front-ends você pode ter o compactar ao fechar, o back-end já não o pode fazer enquanto os usuários estiverem ligados.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Compactação de Banco de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new Instruções SQL como utilizar...

    pcnet gosta desta mensagem

    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  Maurício Bruno 14/9/2017, 14:22

    JPaulo,

    O código não funcionou.

    Eu trabalho em uma rede de multiusuários, office 2010 e 64 bits, precisava de algo para os Administradores fizessem a compactação e reparação do Back Front e End, mesmo com outros usuários logados, ou algo que programava e quando todos fechasse executava.

    Não tenho nem ideia por onde começar nesta situação.

    Desde já agradeço a atenção e ajuda oferecida.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  JPaulo 14/9/2017, 14:34

    Não entre por esses caminhos, você vai corromper os bancos.
    A Microsoft diz que não se deve compactar bancos multiusuários, quando todos estão acedendo.

    A solução é você colocar esta linha, no open do form principal de cada front;
    Código:
    Application.SetOption "Auto Compact", True

    O Back que deve estar na rede com apenas as tabelas, você vai a:

    File, Opções, Current DataBase, e coloca o visto no "Compact on Close".


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Compactação de Banco de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new Instruções SQL como utilizar...

    pcnet e crysostomo gostam desta mensagem

    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  Maurício Bruno 14/9/2017, 14:58

    JPaulo,

    Coloquei o código no Front End (Formulário Principal) e no Back End ajustei a configuração para ao fechar.

    Fazendo desta forma não corrompe não né, mesmo estão multiusuários?

    Este no Front End ele compacta ao abrir correto?

    Grato pela ajuda.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  JPaulo 14/9/2017, 15:03

    Não corrompe porque os dois só compactam ao fechar, não é ao abrir.

    Ao abrir vai setar a opção, para compactar ao fechar.

    O back-end só fecha sozinho quando todos os usuários sairem, por isso não corrompe ao compactar.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Compactação de Banco de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new Instruções SQL como utilizar...

    pcnet gosta desta mensagem

    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    [Resolvido]Compactação de Banco de Dados Empty [Resolvido]Compactação de Banco de Dados

    Mensagem  Maurício Bruno 14/9/2017, 15:08

    JPaulo,

    Muito Obrigado, sua orientação e ajuda foi fundamental para o funcionamento do meu BD.

    Tenha um bom dia.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  JPaulo 14/9/2017, 15:28

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Compactação de Banco de Dados Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Compactação de Banco de Dados Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Compactação de Banco de Dados Empty Re: [Resolvido]Compactação de Banco de Dados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:18