Boa tarde a todos
Tenho este comando Para imprimir dados filtrados num "Form" que imprime dois relatórios diferentes.
Depende do valor da Caixa_de_combinação4
Private Sub Comando30_Click()
On Error Resume Next
If Me.Caixa_de_combinação4 <> "Sofás" Then
If MsgBox("Confirma a Impressão da Listagem Resumo das Fichas de Custo ?" & Chr(13) & "" & [Caixa_de_combinação4], vbYesNo, "Aviso") = vbYes Then
Dim varItem As Variant, strList As String
With Me.Linha
If .ItemsSelected.Count = 0 Then 'conta se há pelo menos 1 selecionado
MsgBox "Selecione ao menos um Tipo de Produtos " & Chr(13) & "E Um Tipo de Linha!", vbExclamation, "Aviso"
GoSub sai
Else
For Each varItem In .ItemsSelected
' Você deve alterar a strList conforme o seu caso específico
If strList = "" Then ' 1º laço do Loop
strList = "Linha = '" & .Column(0, varItem) & "'"
Else
' A linha abaixo só vai ocorrer a partir do 2º laço
strList = strList & " OR linha = '" & .Column(0, varItem) & "'"
End If
Next varItem
End If
End With
On Error GoTo sai
DoCmd.OpenReport "ProdutosGeralImprimirFiltro", acViewPreview, , WhereCondition:=strList
DoCmd.SelectObject acReport, "ProdutosGeralImprimirFiltro", False
Dim blRet As Boolean
Dim Caminho As String
Caminho = CurrentProject.path & "\PDF\"
blRet = ConvertReportToPDF("ProdutosGeralImprimirFiltro", vbNullString, Caminho & "Listagem Resumo Fichas de Custo " & Date & ".PDF", False, False)
On Error Resume Next 'erro 2501 caso você cancele a impressão
If err = 2501 Then
err.Clear
DoCmd.Close
DoCmd.openForm "Menu1"
End If
Else
End If
sai:
Else
' Se a Caixa_de_combinação4 Tiver o Valor "Sofa"
DoCmd.OpenReport "ProdutosGeralImprimirFiltroSofa", acViewPreview, , WhereCondition:=strList
DoCmd.SelectObject acReport, "ProdutosGeralImprimirFiltro", False
End If
E eu queria que se a Caixa_de_combinação4 tivesse o valor "Base" imprimisse este...
'If Me.Caixa_de_combinação4 = "Base" Then
'DoCmd.OpenReport "ProdutosGeralImprimirFiltroBase", acViewPreview, , WhereCondition:=strList
'DoCmd.SelectObject acReport, "ProdutosGeralImprimirFiltro", False
'End If
Tenho este comando Para imprimir dados filtrados num "Form" que imprime dois relatórios diferentes.
Depende do valor da Caixa_de_combinação4
Private Sub Comando30_Click()
On Error Resume Next
If Me.Caixa_de_combinação4 <> "Sofás" Then
If MsgBox("Confirma a Impressão da Listagem Resumo das Fichas de Custo ?" & Chr(13) & "" & [Caixa_de_combinação4], vbYesNo, "Aviso") = vbYes Then
Dim varItem As Variant, strList As String
With Me.Linha
If .ItemsSelected.Count = 0 Then 'conta se há pelo menos 1 selecionado
MsgBox "Selecione ao menos um Tipo de Produtos " & Chr(13) & "E Um Tipo de Linha!", vbExclamation, "Aviso"
GoSub sai
Else
For Each varItem In .ItemsSelected
' Você deve alterar a strList conforme o seu caso específico
If strList = "" Then ' 1º laço do Loop
strList = "Linha = '" & .Column(0, varItem) & "'"
Else
' A linha abaixo só vai ocorrer a partir do 2º laço
strList = strList & " OR linha = '" & .Column(0, varItem) & "'"
End If
Next varItem
End If
End With
On Error GoTo sai
DoCmd.OpenReport "ProdutosGeralImprimirFiltro", acViewPreview, , WhereCondition:=strList
DoCmd.SelectObject acReport, "ProdutosGeralImprimirFiltro", False
Dim blRet As Boolean
Dim Caminho As String
Caminho = CurrentProject.path & "\PDF\"
blRet = ConvertReportToPDF("ProdutosGeralImprimirFiltro", vbNullString, Caminho & "Listagem Resumo Fichas de Custo " & Date & ".PDF", False, False)
On Error Resume Next 'erro 2501 caso você cancele a impressão
If err = 2501 Then
err.Clear
DoCmd.Close
DoCmd.openForm "Menu1"
End If
Else
End If
sai:
Else
' Se a Caixa_de_combinação4 Tiver o Valor "Sofa"
DoCmd.OpenReport "ProdutosGeralImprimirFiltroSofa", acViewPreview, , WhereCondition:=strList
DoCmd.SelectObject acReport, "ProdutosGeralImprimirFiltro", False
End If
E eu queria que se a Caixa_de_combinação4 tivesse o valor "Base" imprimisse este...
'If Me.Caixa_de_combinação4 = "Base" Then
'DoCmd.OpenReport "ProdutosGeralImprimirFiltroBase", acViewPreview, , WhereCondition:=strList
'DoCmd.SelectObject acReport, "ProdutosGeralImprimirFiltro", False
'End If