MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Reiniciar Aplicação

    Compartilhe

    MCaldeira
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 2
    Registrado : 24/01/2018

    [Resolvido]Reiniciar Aplicação

    Mensagem  MCaldeira em 12/4/2018, 13:16

    Boa tarde,

    Necessito ajuda pra conseguir atraves de VBA reiniciar a aplicação, seja atraves de um simples codigo para reiniciar, seja atraves de codigo para compactar/reparar e reiniciar.

    Já verifiquei varios posts aqui que foram colocados sobre este tema no entanto nenhum tem funcionado e consegui encontrar uma forma simples para o fazer e que não resulta totalmente => [SendKeys "%(FMC)", False]

    Tenho configurada a BD da seguinte forma:
    StartUpShowDBWindow = false
    allowshortcutmenus = False
    allowbuiltintoolbars = False
    allowfullmenus = False

    Neste caso o SendKeys necessita do AllowFullMenus=TRUE caso contrario não tem acesso ao menu para fazer o Compact/Repair. Mesmo alterando primeiro o AllowFullMenus colocando-o a TRUE, e depois fazer o SendKeys, o access apenas abre o access não abre a applicacao porque precisa sempre de efetuar primeiro o restart para tornar efetivas as alteracaoes uma vez que o menu do access ainda não está ativo.

    Existe a possibilidade atraves do comando [ DoCmd.RunCommand (acCmdStartupProperties) ] e depois aceder as configurações do Access sair da aplicação e voltar abrir a aplicação.

    A ideia era fazer isso de uma vez só, atraves de VBA, sem usar acCmdStartupProperties alterando para TRUE as configurações acima e depois reiniciar a aplicação.

    Obrigado
    M.Caldeira

    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  CassioFabre em 12/4/2018, 14:27

    Bom dia,

    Utilize a seguinte função em um módulo:
    Código:
    Public Sub reiniciarAccess()
        Dim strLocal As String
        Dim objWs As Object
       
        'reiniciando
        Set objWs = CreateObject("wscript.shell")
        strLocal = CurrentProject.Path & "\" & CurrentProject.Name
        strLocal = Chr(34) & "MSACCESS.EXE" & Chr(34) & " " & Chr(34) & strLocal & Chr(34)
       
        '0 = oculto / 5 = visível
        objWs.Run strLocal, 5, "false"
       
        'fecha atual
        Application.Quit acQuitSaveAll
    End Sub

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  Noobezinho em 12/4/2018, 14:42

    Miguel

    Tinha respondido,mas a solução do Cassio é melhor Wink Wink

    [ ]'s

    MCaldeira
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 2
    Registrado : 24/01/2018

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  MCaldeira em 12/4/2018, 14:56

    Boa tarde,

    Obrigado Noobzinho... Funcionou direitinho!!!
    Ficou resolvido

    M.Caldeira

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3632
    Registrado : 29/06/2012

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  Noobezinho em 12/4/2018, 15:05

    Não fui eu, e sim o Cassio Laughing Laughing

    Valeu o retorno!

    Boa sorte!
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3558
    Registrado : 06/11/2009

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  Assis em 12/4/2018, 17:31

    Boa tarde Amigos

    Cassio

    Criei o modulo e chamei a função num botão ao fazer click .

    call reiniciarAccess


    Mas não reconhece. fica a AZUL " Call reiniciarAccess "

    Office 2013 32 bits


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  CassioFabre em 12/4/2018, 18:50

    Boa tarde,

    Assis, testei aqui e está funcionando correntamente. Segue modelo.

    Abraço.
    Anexos
    Database2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (20 Kb) Baixado 6 vez(es)


    .................................................................................
    Só não tem código pra morte!
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3558
    Registrado : 06/11/2009

    Re: [Resolvido]Reiniciar Aplicação

    Mensagem  Assis em 12/4/2018, 19:25

    Obrigado Cassio

    Resolvi e vi onde estava a errar.

    Só para poupar um click a seguir a Msgbox ??????


    Private Sub Comando65_Click()

    If MsgBox("Quer Mudar o Caminho das Tabelas Vinculadas ?", vbYesNo, "Aviso") = vbYes Then
    Dim DB As DAO.Database, rs As Recordset
    Set DB = CurrentDb()
    Set rs = DB.OpenRecordset("tblCaminhoBe", dbOpenDynaset)
    rs.Edit
    rs("Path_0") = Null
    rs.Update
    rs.Close
    Set rs = Nothing
    Set DB = Nothing

    MsgBox "O Programa será Fechado" & vbNewLine & "Abrirá Automáticamente" & vbNewLine & "Para Selecionar o Novo Caminho das Tabelas Para Conclusão Da Nova Configuração.", vbInformation, "Aviso"

    'DoCmd.Quit ' deu para alterar este comando e ficou ótimo.
    Call reiniciarAccess

    End If
    End Sub


    .................................................................................
    *** Só sei que nada sei ***

      Data/hora atual: 21/11/2018, 02:19