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

    [Resolvido]ShortcutMenuBar todos forms

    maguim
    maguim
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 446
    Registrado : 15/05/2013

    [Resolvido]ShortcutMenuBar todos forms Empty [Resolvido]ShortcutMenuBar todos forms

    Mensagem  maguim 3/5/2019, 14:52

    bom dia amigos!

    tudo bem

    Estou procurando algo relacionado com ShortcutMenuBar = "=0" pra todos forms de uma vez

    porque?

    preciso desabilitar de uma vez e habilitar de uma vez, pois tenho criterios em forms que não consigo sair ate que seja completado todos entendeu?


    e na hora de eu subir o front para os usuarios teria que habilitar a trava de novo entendeu?

    nao achei nada no forum se alguem poder dar uma luz


    abraços


    Última edição por maguim em 6/5/2019, 14:32, editado 1 vez(es)


    .................................................................................
    O conhecimento é a Dadiva da Vida. Sem ele o que seriamos ?! Surprised
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]ShortcutMenuBar todos forms Empty Re: [Resolvido]ShortcutMenuBar todos forms

    Mensagem  JPaulo 3/5/2019, 15:09

    Código:
    Public Sub HabilitaShortcutMenu()
    Dim frm As Object
    For Each frm In CurrentProject.AllForms
        DoCmd.OpenForm frm.Name, acDesign
        Forms(frm.Name).ShortcutMenu = True
        DoCmd.Close acForm, frm.Name, acSaveYes
    Next
    End Sub

    Public Sub DesabilitaShortcutMenu()
    Dim frm As Object
    For Each frm In CurrentProject.AllForms
        DoCmd.OpenForm frm.Name, acDesign
        Forms(frm.Name).ShortcutMenu = False
        DoCmd.Close acForm, frm.Name, acSaveYes
    Next
    End Sub


    .................................................................................
    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]ShortcutMenuBar todos forms Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]ShortcutMenuBar todos forms Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]ShortcutMenuBar todos forms Folder_announce_new Instruções SQL como utilizar...
    maguim
    maguim
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 446
    Registrado : 15/05/2013

    [Resolvido]ShortcutMenuBar todos forms Empty Re: [Resolvido]ShortcutMenuBar todos forms

    Mensagem  maguim 6/5/2019, 14:24

    Maravilha jp deu certo! abriu a mente ate pra poder fazer mais coisas com sua instrução no codigo...

    muito bom cheers

    vou complementar pra galera um codigo feito por vc pra nao travar o app na hora de destravar e travar o ShortcutMenuBar, pois ele trava o app pelo fato de ter muitos formularios.

    Segue o codigo:

    Código:
    Private Sub DESTRAV_FORMS_Click()
    Dim frm As Object
    For Each frm In CurrentProject.AllForms
        DoCmd.OpenForm frm.Name, acDesign
        Forms(frm.Name).ShortcutMenu = False
        DoCmd.Close acForm, frm.Name, acSaveYes
        TimeDelay 0.5, True
    Next
    End Sub

    Private Sub TRAV_FORMS_Click()
    Dim frm As Object
    For Each frm In CurrentProject.AllForms
        DoCmd.OpenForm frm.Name, acDesign
        Forms(frm.Name).ShortcutMenu = True
        DoCmd.Close acForm, frm.Name, acSaveYes
        TimeDelay 0.5, True
    Next
    End Sub

    Public Function TimeDelay(TSegundos As Integer, ByVal TEventos As Boolean)
    'By JPaulo :registered: Maximo Access
        Dim IniciaContagem As Date
      
        If TSegundos < 1 Then  ' Tempo em segundos
            Exit Function
        End If
        IniciaContagem = Now 'inicia contagem de espera através da hora do sistema.
        Do Until DateDiff("s", IniciaContagem, Now) > TSegundos
            If TEventos Then
                DoEvents
            End If
        Loop
    End Function

    Lembrando coloquei pra dar looping em 500 milissegundos para não travar e esperar de mais.

    P.s: Criar formulario a parte para usar esse looping somente DoCmd.ShowToolbar "ribbon" = true, pois em false ele dar pau.

    RESOLVIDO


    .................................................................................
    O conhecimento é a Dadiva da Vida. Sem ele o que seriamos ?! Surprised

      Data/hora atual: 25/7/2021, 03:45