Por gentileza, gostaria de auxílio para fazer um relatório que produza os dados filtrados a partir de um Formulário. Montei um formulário para que o usuário possa selecionar, mediante um Quadro, um determinado campo e o subformulário apresenta o resultado desta consulta. Porém, gostaria de saber como fazer o código para emitir um Relatório que apresente os mesmos dados do subformulário. Obrigada.
Código do SubFormulário:
Option Compare Database
Option Explicit
Private Sub cmdImprimir_Click()
On Error Resume Next
Dim strDocName As String
Dim strFilter As String
strDocName = "RelatorioconsLocOficio"
strFilter = "CodigoOficio=forms!FormconsLocOficio!CodigoOficio" 'filtro aplicado no relatorio
DoCmd.SetWarnings False
DoCmd.OpenReport strDocName, acViewPreview, , strFilter
DoCmd.SetWarnings True
End Sub
Private Sub Quadro6_AfterUpdate()
txtDiversos.SetFocus
End Sub
Private Sub txtDiversos_Change()
Dim filtro As String
Select Case Quadro6
Case 1
txtDiversos.SetFocus
If Len(Me!txtDiversos.Text & "") = 0 Then
'Se não há nada digitado, remove o filtro
Me!FormconsLocOficio.Form.Filter = ""
Me!FormconsLocOficio.Form.FilterOn = False
Exit Sub
End If
filtro = "[CodigoOficio] like '*" & Me!txtDiversos.Text & "*'"
Me!FormconsLocOficio.Form.Filter = filtro
Me!FormconsLocOficio.Form.FilterOn = True
Case 2
txtDiversos.SetFocus
If Len(Me!txtDiversos.Text & "") = 0 Then
'Se não há nada digitado, remove o filtro
Me!FormconsLocOficio.Form.Filter = ""
Me!FormconsLocOficio.Form.FilterOn = False
Exit Sub
End If
filtro = "[Abrev] like '*" & Me!txtDiversos.Text & "*'"
Me!FormconsLocOficio.Form.Filter = filtro
Me!FormconsLocOficio.Form.FilterOn = True
End Select
End sub
Código do SubFormulário:
Option Compare Database
Option Explicit
Private Sub cmdImprimir_Click()
On Error Resume Next
Dim strDocName As String
Dim strFilter As String
strDocName = "RelatorioconsLocOficio"
strFilter = "CodigoOficio=forms!FormconsLocOficio!CodigoOficio" 'filtro aplicado no relatorio
DoCmd.SetWarnings False
DoCmd.OpenReport strDocName, acViewPreview, , strFilter
DoCmd.SetWarnings True
End Sub
Private Sub Quadro6_AfterUpdate()
txtDiversos.SetFocus
End Sub
Private Sub txtDiversos_Change()
Dim filtro As String
Select Case Quadro6
Case 1
txtDiversos.SetFocus
If Len(Me!txtDiversos.Text & "") = 0 Then
'Se não há nada digitado, remove o filtro
Me!FormconsLocOficio.Form.Filter = ""
Me!FormconsLocOficio.Form.FilterOn = False
Exit Sub
End If
filtro = "[CodigoOficio] like '*" & Me!txtDiversos.Text & "*'"
Me!FormconsLocOficio.Form.Filter = filtro
Me!FormconsLocOficio.Form.FilterOn = True
Case 2
txtDiversos.SetFocus
If Len(Me!txtDiversos.Text & "") = 0 Then
'Se não há nada digitado, remove o filtro
Me!FormconsLocOficio.Form.Filter = ""
Me!FormconsLocOficio.Form.FilterOn = False
Exit Sub
End If
filtro = "[Abrev] like '*" & Me!txtDiversos.Text & "*'"
Me!FormconsLocOficio.Form.Filter = filtro
Me!FormconsLocOficio.Form.FilterOn = True
End Select
End sub