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]Botão de opção não executa

    avatar
    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 25/07/2017

    [Resolvido]Botão de opção não executa Empty [Resolvido]Botão de opção não executa

    Mensagem  alantb em 27/9/2018, 21:04

    Olá pessoal, tenho um formulário(Access2016) com um quadro de opções com quatro (4) botões de opção: Todos(1), Funcionário(2), Categoria(3) e Contato(4). Cada uma das opções serve de parâmetro para abrir relatórios, com ou sem critérios de intervalo de datas e que está imprimindo OK. Cada vez que faço os testes em ordem da opção 1 até a 4 imprime normalmente. O problema é que se eu volto a marcar a opção TODOS, não executa nada. Parece que perde o foco total. Segue o código do form para ser analisado pelos colegas.

    Private Sub cmdImprime_Click()

    Select Case Quadro37

    Case 1


    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And IsNull(Me.ComboFuncionario) Then
    DoCmd.OpenReport "RelRegLigacoesTodos", acViewPreview
    Exit Sub
    End If

    If Quadro37 = 1 And Not IsNull(Me.txtDe) And Not IsNull(Me.txtAte) And IsNull(Me.ComboFuncionario) Then
    DoCmd.OpenReport "RelRegLigacoesTodosData", acViewPreview
    Exit Sub
    End If

    Case 2

    If ComboFuncionario = 0 Or ComboFuncionario = "" Then
    MsgBox " Selecione um Funcionário para emissão de relatório!!", vbExclamation + vbOKOnly, "Relatórios"
    Exit Sub
    End If


    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And Not IsNull(ComboFuncionario) Then
    DoCmd.OpenReport "RelRegLigacoesNome", acViewPreview
    Exit Sub
    End If

    If Not IsNull(Me.txtDe) And Not IsNull(Me.txtAte) And Not IsNull(ComboFuncionario) Then
    DoCmd.OpenReport "RelRegLigacoesNomeData", acViewPreview
    Exit Sub
    End If

    Case 3

    If ComboCategoria = 0 Or ComboCategoria = "" Then
    MsgBox " Selecione uma Categoria para emissão de relatório!!", vbExclamation + vbOKOnly, "Relatórios"
    Exit Sub
    End If

    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And Not IsNull(ComboCategoria) Then
    DoCmd.OpenReport "RelRegCategoria", acViewPreview
    Exit Sub
    End If

    If Not IsNull(Me.txtDe) And Not IsNull(Me.txtAte) And Not IsNull(ComboCategoria) Then
    DoCmd.OpenReport "RelRegCategoriaData", acViewPreview
    Exit Sub
    End If

    Case 4

    If ComboContato = 0 Or ComboContato = "" Then
    MsgBox " Selecione um Contato para emissão de relatório!!", vbExclamation + vbOKOnly, "Relatórios"
    Exit Sub
    End If

    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And Not IsNull(ComboContato) Then
    DoCmd.OpenReport "RelRegContato", acViewPreview
    Exit Sub
    End If

    If Not IsNull(Me.txtDe) And Not IsNull(Me.txtAte) And Not IsNull(ComboContato) Then
    DoCmd.OpenReport "RelRegContatoData", acViewPreview
    Exit Sub
    End If


    End Select


    End Sub

    Private Sub cmdLimpar_Click()

    LimparCampos

    End Sub
    Sub LimparCampos()
    Me.txtDe = Empty
    Me.txtAte = Empty
    Me.ComboFuncionario.Value = ""
    Me.ComboCategoria.Value = ""
    Me.ComboContato.Value = ""
    Me.txtNomeFuncionario = Empty
    Me.txtNomeCategoria = Empty
    Me.txtNomeContato = Empty

    End Sub
    Private Sub ComboCategoria_AfterUpdate()
    Me.txtNomeCategoria = [ComboCategoria].[Column](1)
    End Sub

    Private Sub ComboContato_AfterUpdate()
    Me.txtNomeContato = [ComboContato].[Column](1)
    End Sub

    Private Sub ComboFuncionario_AfterUpdate()
    Me.txtNomeFuncionario = [ComboFuncionario].[Column](1)
    End Sub

    Private Sub Form_Open(Cancel As Integer)
    Me.txtDe.SetFocus
    End Sub

    Private Sub Quadro37_AfterUpdate()

    Select Case Quadro37

    Case 1

    LimparCampos
    Me.ComboFuncionario.Visible = False
    Me.ComboCategoria.Visible = False
    Me.ComboContato.Visible = False

    Case 2

    LimparCampos
    Me.ComboFuncionario.Visible = True
    Me.ComboCategoria.Visible = False
    Me.ComboContato.Visible = False

    Case 3

    LimparCampos
    Me.ComboFuncionario.Visible = False
    Me.ComboCategoria.Visible = True
    Me.ComboContato.Visible = False


    Case 4

    LimparCampos
    Me.ComboFuncionario.Visible = False
    Me.ComboCategoria.Visible = False
    Me.ComboContato.Visible = True


    End Select

    End Sub

    Private Sub txtAte_KeyPress(KeyAscii As Integer)
    CampoDATA txtAte, KeyAscii
    End Sub

    Private Sub txtDe_KeyPress(KeyAscii As Integer)
    CampoDATA txtDe, KeyAscii
    End Sub

    ALAN
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7356
    Registrado : 05/11/2009

    [Resolvido]Botão de opção não executa Empty Re: [Resolvido]Botão de opção não executa

    Mensagem  Alexandre Neves em 28/9/2018, 13:35

    Boa tarde
    Para saber o erro do código devia seguir a sua execução passo-a-passo

    Julgo que a situação se resolverá substituindo
    If IsNull(Me.txtDe) And IsNull(Me.txtAte) And IsNull(Me.ComboFuncionario) Then
    DoCmd.OpenReport "RelRegLigacoesTodos", acViewPreview
    Exit Sub
    End If

    por
    If Len("" & txtDe)=0 And Len("" & txtAte)=0 And Len("" & ComboFuncionario)=0 Then
    DoCmd.OpenReport "RelRegLigacoesTodos", acViewPreview
    Exit Sub
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    alantb
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 160
    Registrado : 25/07/2017

    [Resolvido]Botão de opção não executa Empty Re: [Resolvido]Botão de opção não executa

    Mensagem  alantb em 28/9/2018, 17:45

    Alexandre Neves, conforme suas alterações propostas, por aqui deu certo. Ficou da forma que eu esperava. Bastou fazer as alterações no Case 1 no Select Case do Quadro37 e funcionou perfeitamente tanto para TODOS no geral como com intervalo de datas. Agradeço a ajuda e resolvido. Segue também o trecho modificado..

    ALAN

    Select Case Quadro37

    Case 1


    If Len("" & txtDe) = 0 And Len("" & txtAte) = 0 And Len("" & ComboFuncionario) = 0 Then
    DoCmd.OpenReport "RelRegLigacoesTodos", acViewPreview
    Exit Sub
    End If


    If Quadro37 = 1 And Len("" & txtDe) <> 0 And Len("" & txtAte) <> 0 And Len("" & Me.ComboFuncionario) = 0 Then
    DoCmd.OpenReport "RelRegLigacoesTodosData", acViewPreview
    Exit Sub
    End If

    Conteúdo patrocinado

    [Resolvido]Botão de opção não executa Empty Re: [Resolvido]Botão de opção não executa

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/8/2019, 10:43