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]Utilização do CommandBar para AbrirForm constante da lista.

    avatar
    Convidado
    Convidado


    [Resolvido]Utilização do CommandBar para AbrirForm constante da lista. Empty Utilização do CommandBar para AbrirForm constante da lista.

    Mensagem  Convidado 13/2/2013, 13:16

    Amigos, neste codigo carrego um subMenu com os nome dos Forms abertos no sistema...
    Código:
    Sub FormsAbertos()
    Dim I As Integer
    Dim cmdBar  As CommandBar
    Dim mnu    As CommandBarButton

    Call VerificaForms
        delAtalho 'Apaga a barra de comando anterior caso ela exista

        Set cmdBar = CommandBars.Add _
          (Name:=Barra, position:=msoBarPopup, Temporary:=True)
         
        For I = 0 To Count - 1
            Set mnu = cmdBar.Controls.Add(Type:=msoControlButton)
            With mnu
                .Caption = NomeForm(I)
                .OnAction = "FormAberto(" & NomeForm(I) & ")"
                .FaceId = 1987
            End With
        Next I
    End Sub

    Function FormAbertoFrmForms()
    Forms!FrmForms.SetFocus
    End Function
    Observe que aqui: .OnAction = "FormAberto(" & NomeForm(I) & ")" >>> Fica gravado a ação executada para cada botão na barra de menus (neste caso o nome de uma funçào)

    Supondo que tenho 2 forms abertos no momento: Form1 e Form2

    Eu teria que ter uma função no módulo para cada form, Exemplo:

    Function FormAbertoForm2()
    Forms!Form1.SetFocus
    End Function

    Function FormAbertoForm1()
    Forms!Form2.SetFocus
    End Function

    O que pretendo e apenas uma função... No entatanto o Nome da Função não admite concatencão de strings.

    Tentei assim:

    OnAction = "FormAberto(" & NomeForm(I) & ")"
    Que corresponderá a: OnAction = FormAberto(Form1)

    e na função:

    Function FormAberto(Formulario as String)0
    'Pensei que assim a função seria chamada ja que a expressão OnActio está como: FormAberto(Form1), e que Formulario receberia o texto entre os parenteses..
    'Mas a função nem chegou a ser chamada.

    End Function

    Alguma ideia amigos?

    Cumprimentos.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Utilização do CommandBar para AbrirForm constante da lista. Empty Re: [Resolvido]Utilização do CommandBar para AbrirForm constante da lista.

    Mensagem  criquio 13/2/2013, 13:43

    E se fosse Function FormAberto(Formulario As Form)?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Convidado
    Convidado


    [Resolvido]Utilização do CommandBar para AbrirForm constante da lista. Empty Re: [Resolvido]Utilização do CommandBar para AbrirForm constante da lista.

    Mensagem  Convidado 13/2/2013, 15:29

    Não funcionou

    O interessante é que se coloco Apenas o nome da funcão simples em OnAction, sem uma variável, a função é chamada

    OnAction = NomeFuncao

    Function NomeFuncao()
    Forms!Form1.SetFocus
    End Function

    =======================================================================

    Mas se em OnAction eu concateno para uma função diferenciando o nome do form em uma variavel (entre Parenteses), Não funciona

    .OnAction = "Call FormAberto(""" & NomeForm(I) & """)"
    Fica assim >>>> OnAcrtio = FormAberto(Form1) - Teoricamente teria que chamar a funcao FormAberto levando o nome do Form na variavel Formulario na funcão

    Function FormAberto(Formulario As String)
    MsgBox "Teste"
    End Function

    Porem não executa a funcão.


    Eu queria assim para que não tivesse que ter uma função para cada form no BD


    Cumprimentos.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Utilização do CommandBar para AbrirForm constante da lista. Empty Re: [Resolvido]Utilização do CommandBar para AbrirForm constante da lista.

    Mensagem  Avelino Sampaio 13/2/2013, 16:45

    Olá Hary

    Experimente assim:

    .OnAction = "=FormAberto('" & NomeForm(I) & "')"

    Function FormAberto(NomeForm as string)
    Forms(NomeForm).SetFocus
    End Function


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Convidado
    Convidado


    [Resolvido]Utilização do CommandBar para AbrirForm constante da lista. Empty Re: [Resolvido]Utilização do CommandBar para AbrirForm constante da lista.

    Mensagem  Convidado 13/2/2013, 18:45

    Perfeito Avelino...

    Agora uma questão eu havia tentado asism porém sem o sinal de igual dentro do contexto.

    O porque disso?


    Cumprimentos e Obrigado.

    Conteúdo patrocinado


    [Resolvido]Utilização do CommandBar para AbrirForm constante da lista. Empty Re: [Resolvido]Utilização do CommandBar para AbrirForm constante da lista.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 01:40