Boa tarde amigos. Meu problema é o seguinte:
Estou construindo um bd e coloquei uma rotina de atualização automática dos front-end dos usuários. A rotina encontrei aqui mesmo no fórum, exatamente neste link https://www.maximoaccess.com/t16932-front-end-access-no-servidor.
Fiz uma pequena modificação no código do link acima que foi perguntar ao usuário se ele deseja atualizar o módulo cliente dele naquele momento ou não. Na minha máquina utilizo a versão completa do Access 2007 e nas estações o Access Runtime 2007. No access completo, tudo funciona perfeitamente, na sequencia abaixo:
-> Solicita atualização
-> Caso sim, fecha o BD principal e abre o BD de atualização
-> Rotina é executada e o Front-end do usuário é substituido pelo front-end atualizado
-> Informa o sucesso e fecha o bd de atualização.
Porém no Access runtime, acontece o seguinte:
-> Solicita atualização
-> Caso sim, não fecha o BD principal e abre o BD de atualização
-> Rotina aparentemente é executa
-> Informa o sucesso e fecha o BD de atualização
-> Foco é voltado para o BD principal e aparece mensagem de "Erro em tempo de execução"
-> Aperta OK, fecha o BD principal e a atualização não foi feita.
O erro se dá provavelmente porque o BD principal não é fechado para ser substituído. Sabemos que não se pode substituir um arquivo que está sendo executado. Tentei substituir o comando DoCmd.Quit por Application.Quit, mas nesse caso ele fecha o Access completamente e não abre o BD de atualização.
Minha dúvida é como fechar o BD principal no Access Runtime e abrir o BD de atualização.
Obrigado desde já.
Estou construindo um bd e coloquei uma rotina de atualização automática dos front-end dos usuários. A rotina encontrei aqui mesmo no fórum, exatamente neste link https://www.maximoaccess.com/t16932-front-end-access-no-servidor.
Fiz uma pequena modificação no código do link acima que foi perguntar ao usuário se ele deseja atualizar o módulo cliente dele naquele momento ou não. Na minha máquina utilizo a versão completa do Access 2007 e nas estações o Access Runtime 2007. No access completo, tudo funciona perfeitamente, na sequencia abaixo:
-> Solicita atualização
-> Caso sim, fecha o BD principal e abre o BD de atualização
-> Rotina é executada e o Front-end do usuário é substituido pelo front-end atualizado
-> Informa o sucesso e fecha o bd de atualização.
Porém no Access runtime, acontece o seguinte:
-> Solicita atualização
-> Caso sim, não fecha o BD principal e abre o BD de atualização
-> Rotina aparentemente é executa
-> Informa o sucesso e fecha o BD de atualização
-> Foco é voltado para o BD principal e aparece mensagem de "Erro em tempo de execução"
-> Aperta OK, fecha o BD principal e a atualização não foi feita.
O erro se dá provavelmente porque o BD principal não é fechado para ser substituído. Sabemos que não se pode substituir um arquivo que está sendo executado. Tentei substituir o comando DoCmd.Quit por Application.Quit, mas nesse caso ele fecha o Access completamente e não abre o BD de atualização.
Minha dúvida é como fechar o BD principal no Access Runtime e abrir o BD de atualização.
Obrigado desde já.