Como escrever o código para um formulário com duas caixas de listagens realizarem filtragens para impressão de um relatório?
Cada caixa de listagem pertence à uma determinada tabela individual.
Consegui escrever o código para filtrar a 1ª caixa de listagem ao clicar em btRelatorio.
Consegui ainda escrever o código de um botão que limpar todas as seleções.
Preciso de ajuda para filtrar as duas caixas de listagens, quer sejam selecionadas juntas ou separadamente...
Segue o código que escrevi até agora...
Option Compare Database
Private Sub btRelatorio_Click()
Dim filtro As String
Dim Sel As Variant
Dim j As Boolean
filtro = "in("
For Each Sel In Me!ListaFornec.ItemsSelected
filtro = filtro & Me!ListaFornec.Column(0, Sel) & ","
j = True
Next
filtro = Mid(filtro, 1, (Len(filtro) - 1)) & ")"
filtro = "IDFornec" & filtro
If j = False Then
MsgBox "Selecione um ou mais fornecedor.", vbInformation, "Aviso"
Me!ListaFornec.SetFocus
Me!Lista = 0
Else
DoCmd.OpenReport "rltprecos", acViewPreview, filtro
End If
End Sub
Private Function fncSelecionar(Status As Boolean)
Dim j As Long
For j = Me!ListaFornec.ListCount - 1 To 0 Step -1
Me!ListaFornec.Selected(j) = Status
Me!ListaEspecie.Selected(j) = Status
Next
Me!ListaFornec.SetFocus
Me!ListaFornec = 0
End Function
Cada caixa de listagem pertence à uma determinada tabela individual.
Consegui escrever o código para filtrar a 1ª caixa de listagem ao clicar em btRelatorio.
Consegui ainda escrever o código de um botão que limpar todas as seleções.
Preciso de ajuda para filtrar as duas caixas de listagens, quer sejam selecionadas juntas ou separadamente...
Segue o código que escrevi até agora...
Option Compare Database
Private Sub btRelatorio_Click()
Dim filtro As String
Dim Sel As Variant
Dim j As Boolean
filtro = "in("
For Each Sel In Me!ListaFornec.ItemsSelected
filtro = filtro & Me!ListaFornec.Column(0, Sel) & ","
j = True
Next
filtro = Mid(filtro, 1, (Len(filtro) - 1)) & ")"
filtro = "IDFornec" & filtro
If j = False Then
MsgBox "Selecione um ou mais fornecedor.", vbInformation, "Aviso"
Me!ListaFornec.SetFocus
Me!Lista = 0
Else
DoCmd.OpenReport "rltprecos", acViewPreview, filtro
End If
End Sub
Private Function fncSelecionar(Status As Boolean)
Dim j As Long
For j = Me!ListaFornec.ListCount - 1 To 0 Step -1
Me!ListaFornec.Selected(j) = Status
Me!ListaEspecie.Selected(j) = Status
Next
Me!ListaFornec.SetFocus
Me!ListaFornec = 0
End Function