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]Conbox e VBA

    Compartilhe
    avatar
    infosoft
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 09/07/2012

    [Resolvido]Conbox e VBA

    Mensagem  infosoft em Ter 10 Jun 2014, 16:08

    Olá pessoal, tudo bem?
    Não estou conseguindo gerar um código VBA que funcione tanto na digitação dentro de um combox, quanto num clique de botão.

    Num conbox, o usuário escolhe/digita um relatório e tecla enter, se ele digitou um nome inexistente, o VBA avisa o erro e retorna o foco ao conbox:
    -------
    Private Sub cboRelatorios_NotInList(NewData As String, Response As Integer)
    On Error Resume Next
    DoCmd.SetWarnings False
    Response = acDataErrContinue
    MsgBox "Nome de relatório inválido, escolha outro.", vbInformation, "Aviso"
    Me.Undo
    End Sub
    -------

    Só que o valor padrão é "Escolha um relatório" e se o usuário não usar este conbox e prosseguir na janela e somente clicar no botão OK, o VBA avisa:
    ------
    Private Sub OK_Click()
    On Error Resume Next
    DoCmd.SetWarnings False

    If Me.cboRel <> 0 Then
    If Me.cboRel <> "Escolha um relatório" Then
    Call DialogoImprime
    DoCmd.Close acForm, Me.Name
    Else
    If Me.cboRel = "Escolha um relatório" Then
    MsgBox "Você deve escolher um relatório!", vbInformation, "Aviso"
    Me.Undo

    End If
    End If
    End If
    End Sub
    ------
    Referente ao clicar em OK, até que dá certo, mas se o usuario deletar o que estava na conbox e clicar OK, não acontece NADA, a janela somente dá uma "piscada". E mesmo se o usuário digitar algo errado na conbox e clicar OK, a janela só dá uma "piscada" e somente prossegue, se o usuário escolher um relatório certo.

    Preciso de ajudar para consertar este código do botão OK para:
    1- Não escolheu/digitou nada e ficou o valor padrão "Escolha um relatório";
    2- Digitou nome inválido;
    3- Deixou o campo vazio (apagou o valor padrão e não escolheu/digitou nada)

    Desde já agradeço, Luz e Paz!
    avatar
    Silvanio123
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 91
    Registrado : 24/08/2011

    Re: [Resolvido]Conbox e VBA

    Mensagem  Silvanio123 em Ter 10 Jun 2014, 19:08

    Boa tarde infosoft,

    tente assim:

    Código:
    On Error Resume Next

        If IsNull(Me.cboRel) Then
            '3- Deixou o campo vazio (apagou o valor padrão e não escolheu/digitou nada)
            MsgBox "Você deve escolher um relatório!", vbInformation, "Deixou o campo vazio"
        End If
        
        If Me.cboRel <> "Escolha um relatório" Then
            Call DialogoImprime
            DoCmd.Close acForm, Me.Name
        End If
            
        If Me.cboRel = "Escolha um relatório" Then
            MsgBox "Você deve escolher um relatório!", vbInformation, "Aviso"
        End If

    Vlw.
    avatar
    infosoft
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 250
    Registrado : 09/07/2012

    Re: [Resolvido]Conbox e VBA

    Mensagem  infosoft em Ter 10 Jun 2014, 19:45

    Muito obrigado Silvanio123!

    Luz e Paz!
    avatar
    Silvanio123
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 91
    Registrado : 24/08/2011

    Re: [Resolvido]Conbox e VBA

    Mensagem  Silvanio123 em Ter 10 Jun 2014, 20:43

    Vlw.

      Data/hora atual: Ter 27 Jun 2017, 21:44