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


3 participantes

    [Resolvido]Interromper código atravéz de outro

    avatar
    Convidad
    Convidado


    [Resolvido]Interromper código atravéz de outro Empty Interromper código atravéz de outro

    Mensagem  Convidad 9/8/2012, 04:36

    Bom dia meus amigos!
    estou quebrando a cabeça e não consegui resolver uma dúvida,
    que é a seguinte:

    Gostaria de saber se é possível e como fazer para parar a execução
    de uma rotina através de outra?

    Na própria rotina, podemos usar o Exit para interromper a execução,
    mas como interromper a execução de um outro módulo, que não esteja
    no mesmo formulário?

    Alguém poderia me ajudar nessa dúvida?

    Agradecido
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  JPaulo 9/8/2012, 09:13

    Tem de detalhar mais, porque o Access não é como o Windows, ele apenas executa um código de cada vez.


    .................................................................................
    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]Interromper código atravéz de outro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidad
    Convidado


    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  Convidad 9/8/2012, 12:43

    Muito obrigado pelo interesse!
    A situação é a seguinte:

    A idéia é usar um Exit Sub para parar outro código.

    Por exemplo: Caso eu tenha um botão e nele tem uma
    chamada de uma função após a chamada tem outras instruções.
    Na primeira função que o botão chama, é feita várias verificações, e dependendo
    dessas verificações, essa função interrompe a continuação das outras instruções do botão.

    Ficou mais claro? Tem como fazer isso?
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  JPaulo 9/8/2012, 12:50

    Continuo sem entender direito.

    O Ms Access não trabalha com Threads, logo você só pode chamar uma função ou executar algo, um de cada vez, que podem ou não estar fora, em outros modulos que chama através do Call.

    Coloque aqui um exemplo dessas chamadas.




    .................................................................................
    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]Interromper código atravéz de outro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidad
    Convidado


    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  Convidad 9/8/2012, 13:37

    Veja o exemplo:

    Clique de um botão:

    Private Sub Botao_Click()

    Call FuncaoTeste

    MsgBox "Apenas um teste"

    End Sub

    Função externa:

    Function FuncaoTeste()

    If 1 + 1 = 2 Then
    'Aqui eu teria que parar o código do botão e a MsgBox não deveria ser executada
    Else
    'O código do botão continua normalmente
    End If

    End Function
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  JPaulo 9/8/2012, 14:17

    Dessa forma jamais vai conseguir, pois não existe qualquer validação.

    Desta forma é simples;


    Function FuncaoTeste() As Boolean
    Dim IntNumero As Integer
    IntNumero = 2
    If 1 + 1 = IntNumero Then
    FuncaoTeste = True
    Exit Function
    Else
    FuncaoTeste = False
    Exit Function
    End If
    End Function




    Private Sub SeuBotão_Click()
    If FuncaoTeste = True Then
    'pára a execusão da função e do botão
    Exit Sub
    Else
    MsgBox "Apenas um teste"
    'continua
    End If
    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]Interromper código atravéz de outro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidad
    Convidado


    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  Convidad 9/8/2012, 14:22

    Perfeito! É exatamente isso que eu pretendo!!!
    Muito obrigado!!!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  JPaulo 9/8/2012, 14:30

    Obrigado pelo retorno o fórum 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]Interromper código atravéz de outro Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Interromper código atravéz de outro Folder_announce_new Instruções SQL como utilizar...
    avatar
    Jorgetff
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/08/2017

    [Resolvido]Interromper código atravéz de outro Empty problema parecido

    Mensagem  Jorgetff 11/10/2017, 18:55

    prezados, estou com um problema parecido com o resolvido aqui, mas não consigo resolver.

    criei um formulário e antes dele fechar quero que confirme o fechamento para salvar ou não as alterações, porém quando eu clico na opção cancelar, ele não cancela o fechamento.

    o meu código está conforme abaixo, se puder me ajudar seria muito bom.

    desde já agradeço.


    Private Sub Form_BeforeUpdate(Cancel As Integer)

    Dim strMsg As String
    Dim x As Integer

    strMsg = "Deseja salvar as alterações na cidade?"


    x = MsgBox(strMsg, vbQuestion + vbYesNoCancel, "Salvar cidade?")

      Select Case x

         Case 6 'vbYes

            msg = MsgBox("Cidade cadastrada com sucesso!", vbExclamation + vbOKOnly + vbDefaultButton2, "AVISO")
           
             Exit Sub
     
         Case 7 'vbNo
     
             DoCmd.RunCommand acCmdUndo
     
         Case 2 'vbCancel
                 
               Call Funcao_Fechar
                                                           
       End Select


    End Sub


    Function Funcao_Fechar() As Boolean

    Dim IntNumero As Integer
    IntNumero = 2
    If 1 + 1 = IntNumero Then
    Funcao_Fechar = True
    Exit Function
    Else
    Funcao_Fechar = False
    Exit Function
    End If

    End Function


    Private Sub Form_Close()
           
    If Funcao_Fechar = True Then
    'pára a execusão da função e do botão
    Exit Sub
    Else
    DoCmd.RunCommand acCmdCloseWindow
    'continua
    End If
       
    End Sub
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  CassioFabre 11/10/2017, 19:39

    Boa tarde,

    Jorgetff, seu problema é estar usando o evento errado. Utilize o "Ao Descarregar" do formulário:

    Código:
    Private Sub Form_Unload(Cancel As Integer)
    Dim strMsg As String
    Dim x As Integer

    strMsg = "Deseja salvar as alterações na cidade?"

    x = MsgBox(strMsg, vbQuestion + vbYesNoCancel, "Salvar cidade?")

      Select Case x
        Case 6 'vbYes
            msg = MsgBox("Cidade cadastrada com sucesso!", vbExclamation + vbOKOnly + vbDefaultButton2, "AVISO")
            Exit Sub
        Case 7 'vbNo
            DoCmd.RunCommand acCmdUndo
        Case 2 'vbCancel
              cancel = true                                           
      End Select
    End Sub
    End Sub

    Abraço.


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

    Conteúdo patrocinado


    [Resolvido]Interromper código atravéz de outro Empty Re: [Resolvido]Interromper código atravéz de outro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 17:59