Private Sub mnuOutrosRelatorioOutros_Click()
Dim DataInicio, DataFinal As String
Dim txtDataInicio As String, txtDataFinal As String
Dim Info As String, Pergunta As String
Pergunta = MsgBox("Confirma imprimir a folha" & Chr(13) & _
"complementar dos técnicos?", vbYesNo + vbQuestion, "Folha complementar dos técnicos")
If Pergunta = vbNo Then
Exit Sub
End If
MsgBox "Serão impressas duas vias por técnico. Prepare duas folhas" & Chr(13) & _
"de papel sulfite. Ao concluir a impressão da primeira via," & Chr(13) & _
"retire-a e coloque a outra folha de sulfite.", vbOKOnly + vbInformation, "Preparando a impressão..."
txtDataInicio = InputBox("Informe a data inicial de saída" _
& Chr(13) & "no formato dd/mm/yyyy. Ex.: 16/05/2004.", "Relatório de serviços retirados")
If Len(txtDataInicio) = 0 Then Exit Sub
While Not IsDate(txtDataInicio)
MsgBox "Você digitou " & txtDataInicio & " !..." _
& Chr(13) & "Tente novamente...", vbQuestion, "Data no formato dd/mm/aaaa"
txtDataInicio = InputBox("Entre com a data inicial de saída.")
If Len(txtDataInicio) = 0 Then Exit Sub
Wend
txtDataFinal = InputBox("Você informou como data inicial de saída" & Chr(13) & _
txtDataInicio & ". Informe agora a data final de saída.", "Relatório de serviços retirados")
If Len(txtDataFinal) = 0 Then Exit Sub
While Not IsDate(txtDataFinal)
MsgBox "Você digitou " & txtDataFinal & " !..." _
& Chr(13) & "Tente novamente...", vbQuestion, "Data no formato dd/mm/aaaa"
txtDataFinal = InputBox("Você digitou " & txtDataInicio & " como" _
& Chr(13) & "data inicial. Entre com a data final.")
If Len(txtDataFinal) = 0 Then Exit Sub
Wend
Info = InputBox("Entre com o nome de um dos seguintes técnicos:" & Chr(13) & _
"Jose Dias, Otavio, Marisabel ou Anderson." & Chr(13) & Chr(13) & _
"Atenção! NÂO USE acentos (ex.: José, Otávio)", "Relatório de saída entre " & txtDataInicio & " e " & txtDataFinal)
If Info = "" Then
MsgBox "Sem o nome do técnico, é impossível" & Chr(13) & _
"gerar o relatório complementar...", vbOKOnly + vbInformation, "Repita toda a operação!"
Exit Sub
End If
Info = StrConv(Info, 3)
Screen.MousePointer = vbHourglass
DataInicio = Format(txtDataInicio, "yyyy,mm,dd")
DataFinal = Format(txtDataFinal, "yyyy,mm,dd")
Dim rptData As String
'formula a ser usada
rptData = "{Tecnicos.Data}"
Dim Nome As String
Nome = "{Tecnicos.Nome}"
Dim rptSelecao As String
rptSelecao = rptData & " in Date(" & DataInicio & ") to Date (" & DataFinal & ") And {Tecnicos.Nome}='" & Info & "'"
‘A rotina acima filtra os registros entre a dataInicio e DataFinal pelo nome que está no campo <Nome> da Tabela Técnicos. A variável <Info> captura o nome do técnico digitado na inputbox.
'--------------------------------------------------------------------------------------------------------------------
'CRPT1.ReportFileName = App.Path & "Complemento.rpt"
CrystalReport1.ReportFileName = "C:Arquivos de programasSistema Informatizado Dim EletronicaComplemento.rpt"
'--------------------------------------------------------------------------------------------------------------------
CrystalReport1.SelectionFormula = rptSelecao
CrystalReport1.WindowState = crptMaximized
CrystalReport1.SortFields(0) = "+{Tecnicos.Data}"
CrystalReport1.SortFields(1) = "+{Tecnicos.Tipo}"
CrystalReport1.CopiesToPrinter = 2
'CrystalReport1.Destination = crptToWindow
CrystalReport1.Destination = crptToPrinter
CrystalReport1.Action = 1
Screen.MousePointer = vbDefault
End Sub