Filtrar por fecha un campo con Fecha y hora
Me hallo haciendo un formulario de consulta, en que el usuario tendrá varios campos por los que filtrar los registros.
Para ello he utlizado de referencia el ejemplo de Filtros Multiples de la web de Neckkitto (http://siliconproject.com.ar/neckkito/index.php/component/content/article/93-ejemplos-explicados/ejemplos-de-formularios/194-crear-un-filtro-multiple ) De la siguiente manera:
Private Sub cmd_query_Click() 'Defino variables Dim vLote As String Dim vLoteInspeccion As String Dim vIDH As String Dim vStatus As Integer Dim vFechaEntrega As Variant Dim vLargo As Integer Dim miFiltro As String 'Funcion Nz (Define un valor como una cosa cuando no es null, o como otra cuando si que lo es) ' (Ej: vLote tiene el valor de Me.qryLote cuando este no sea null, o "" cuando si lo sea) vLote = Nz(Me.qryLote.Value, "") vLoteInspeccion = Nz(Me.qryLoteInspeccion, "") vIDH = Nz(Me.qryIDH, "") vFechaEntrega = Nz(Me.qryFechaEntrega, "") vStatus = Nz(Me.qryStatus, 0) 'Comenzamos con el filtro vacio miFiltro = "" 'Añadimos las partes de la sentencia SQL según si el campo en concreto es null o no. (OJO al espacio antes de AND) If vLote <> "" Then miFiltro = miFiltro & " AND [Lote]='" & vLote & "'" End If If vIDH <> "" Then miFiltro = miFiltro & " AND [IDH]='" & vIDH & "'" End If If vLoteInspeccion <> "" Then miFiltro = miFiltro & " AND [Lote_Inspeccion]= & vLoteInspeccion & " End If If vStatus <> 0 Then miFiltro = miFiltro & " AND [Status]= " & vStatus & "" End If If vFechaEntrega <> "" Then miFiltro = miFiltro & " AND [Fecha_Entrega]= #" & Format(vFechaEntrega, "dd/mm/yyyy") & "#" End If vLargo = Len(miFiltro) '(Cuenta los caracteres de miFiltro) If vLargo <> 0 Then '(Si miFiltro no tiene 0 caracteres, es decir, si existe, entonces eliminamos los 4 primeros, que corresponden al primer " AND") miFiltro = Right(miFiltro, vLargo - 4) '(Con miFiltro ya construido, puedo crear el Filtro por SQL del que se alimenta el subform) Filtro = "SELECT * FROM [Consulta_Visualizacion_Subformulario] WHERE" & miFiltro & ";" Me.Formulario_Visualizacion_Subformulario.Form.RecordSource = Filtro End If End Sub
Sin embargo, me encuentro el problema de que a la hora de filtrar por fechas no me funciona, puesto quelos registros se guardan en formado "dd/mm/aaaa hh:mm:ss", sin embargo a la hora de filtrar, me interesa buscar solo por fecha y que me muestre todos los registros del día seleccionado.
Si ahora mismo lo hago de esta manera, no me devuelve ningún resultado ya que ninguno coincide totalmente.
¿Existe alguna forma de dividir el valor guardado en fecha y hora por separado o quizás estoy planteando mal el problema?