Desculpem a insistência, mas meu emprego depende disso. Já quebrei a cabeça de tudo que é jeito, mas não consegui ir além. O negócio é o seguinte: preciso imprimir um relatório em que constem somente os registros de um determinado técnico (tabela.Técnico), num intervalo de datas de saída, pelo Crystal 4.6 (VB5 Professional).
Adaptei uma dica do Macoratti, utilizando um relatório baseado num banco de dados (SistemaLoja.mdb). A rotina abaixo gera o relatório entre duas datas, de forma correta. Como é que eu deveria concatenar a variável Nome do técnico na rotina <CrystalReport1.SelectionFormula>, para que o relatório separasse os registros pelo nome do técnico e no intervalo de datas?
Private Sub mnuImprimir_Click()
Dim DataInicio, DataFinal As String
Dim txtDataInicio As String, txtDataFinal As String
Dim NomeTecnico as String
txtDataInicio = InputBox("Informe a data inicial de saída" _
& Chr(13) & "no formato dd/mm/yyyy. Ex.: 16/05/2004")
txtDataFinal = InputBox("Você informou como data inicial de saída" & Chr(13) & _
txtDataInicio & ". Informe agora a data final de saída.")
NomeTecnico = InputBox ("Entre o nome do técnico")
Screen.MousePointer = vbHourglass
DataInicio = Format(txtDataInicio, "yyyy,mm,dd")
DataFinal = Format(txtDataFinal, "yyyy,mm,dd")
Dim rptData As String
'formula a ser usada
rptData = "{loja.DataDeSaída}"
Dim rptSelecao As String
rptSelecao = rptData & " in Date(" & DataInicio & ") to Date (" & DataFinal & ")"
'Imprime o relatorio
CrystalReport1.ReportFileName = App.Path & " tecnico.rpt"
CrystalReport1.WindowTitle = "Entrega de aparelhos"
CrystalReport1.SelectionFormula = rptSelecao
CrystalReport1.WindowState = crptMaximized
CrystalReport1.Destination = crptToWindow
CrystalReport1.Action = 1
Screen.MousePointer = vbDefault
End Sub