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
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