Ok;
Veja se serve assim, sem consulta e filtra como quiser.
Faça o teste para as datas 28/01/2012 ou 29/01/2012
http://dl.dropbox.com/u/771097/CampoComDuploCriterioAssisOLD_II.rar
1º Foi retirado o Record Source do Relatorio "Movimentos Dia"
2º Através de um codigo de verificação "IsLoaded" obtemos qual o form aberto, é enviada a data para o cabeçalho do relatorio.
Private Sub Report_Load()
If IsLoaded("Dialogo Datas") = True Then
Me.txtData.Value = Forms![Dialogo Datas]![Data]
Else
Me.txtData.Value = Forms![CalendárioDia]![CDataGeral]
End If
End Sub
3º No formulario do "CalendarioDia" ficou assim:
Private Sub Moldura_Click()
Dim strSQL As String
On Error GoTo 1
If MsgBox("Confirma a Impressão dos Movimentos do Dia " & [CDataGeral], vbYesNo, "Gestão de Despesas") = vbYes Then
strSQL = "SELECT * FROM tblVendas Where Data=#" & Me.CDataGeral & "#"
DoCmd.OpenReport "Movimentos Dia", acViewPreview, , , , strSQL
Else
DoCmd.CancelEvent
End If
On Error Resume Next 'erro 2501 caso você cancele a impressão
If Err = 2501 Then
Err.Clear
DoCmd.Close
End If
1: Me.Moldura.SetFocus
End Sub
4º No formulario "Dialogo Datas":
Private Sub cmdPreview_Click()
Dim strSQL As String
On Error Resume Next
If IsNull(Me.lstInformes) Then
MsgBox "Selecione primeiro o Relatório"
Else
If MsgBox("Confirma a Visualização do " & lstInformes & " ", vbYesNo, "Controle de Stoks") = vbYes Then
strSQL = "SELECT * FROM tblVendas Where Data=#" & Me.Data & "#"
DoCmd.OpenReport "" & lstInformes & "", acViewPreview, , , , strSQL
Else
DoCmd.CancelEvent
End If
On Error Resume Next 'erro 2501 caso você cancele a impressão
If Err = 2501 Then
Err.Clear
DoCmd.Close
End If
End If
End Sub