Fiz a compilaçao de algum codigo que encontrei na net e adaptei ao que precisava. Ao principio parecia estar tudo bem, mas em certas datas ele da-me erro: "Run-Time error '3075':
Syntax error in date in query expression '([DateEntrance] >= #01/Jan/2007#) AND ([DateExite] <= #11/Fev/2007#)'
Se eu escolher entre dia 01/Jan/2007 e 30/Jan/2007 por exemplo já nao da erro nenhum e os resultados aparecem impecaveis.
Ja exprimentei outros meses e dias do ano e á uns que dao e outros que nao. Nao conseguir perceber diferencas entre os que davam e os que nao davam.
O codigo para a aplicacao dos criterios selecionado e relativamente simples:
Dim strWhere As String
Dim lngLen As Long
Const conJetDate = "\#dd\/mmm\/yyyy\#"
If Not IsNull(Me.txtdatadesde) Then
strWhere = strWhere & "([DateEntrance] >= " & Format(Me.txtdatadesde, conJetDate) & ") AND "
End If
If Not IsNull(Me.txtdataate) Then
strWhere = strWhere & "([DateExit] < " & Format(Me.txtdataate + 1, conJetDate) & ") AND "
End If
lngLen = Len(strWhere) - 5
If lngLen <= 0 Then
MsgBox "Sem filtros", vbInformation, "Filtro não aplicado."
Else
strWhere = Left$(strWhere, lngLen)
Me.Filter = strWhere
Me.FilterOn = True
End If
Tenho este codigo associado a uma janela com textbox's em formato "Short Date" e com Mask de "Short Date" também.
Obrigado pela atenção