none
consultas por hora RRS feed

  • Pregunta

  • Tienes razón en cuanto a que no he informado que los parametros de la busqueda estan dados por dos Dtpicker1 (Fecha inicial de busqueda) y Dtpicker2 ( Fecha final de busqueda) y de acuedo a la fecha seleccionada en ellos es que buscare a los usuarios que en el lapso de ese tiempo llegaron después de las 06:50:00 a.m.
     Buenos días
    Tengo una base de datos en visual conectada a acces. En ella hay una tabla llamada retardos con los campos codigo, Fecha y hora. En el formulario  los parametros de la busqueda estan dados por dos Dtpicker1 (Fecha inicial de busqueda) y Dtpicker2 ( Fecha final de busqueda) y de acuedo a la fecha seleccionada en ellos es que buscare a los usuarios que en el lapso de ese tiempo llegaron después de las 06:50:00 a.m. Mi consulta es la siguiente Tengo el siguiente código para realizar la consulta pero no sé como colocar dentro de él que la hora sea mayor a 06:50:00 a.m
    La busqueda la hago con este codigo, el cual me muestra todos los usuarios registrados en esas fechas con sus horas de llegada pero necesito que me filtre también los que llegaron des pués de la hora señalada. 

    Adodc1.RecordSource = "Select * From Retardos WHERE Fecha_Inicio BETWEEN #" & Format(DTPicker1.Value, "mm/dd/yyyy") & "# And #" & Format(DTPicker2.Value, "mm/dd/yyyy") & "# Order by Fecha_Inicio"
    Adodc1.Refresh

    domingo, 31 de marzo de 2013 1:16

Todas las respuestas

  • Select * From Retardos WHERE Fecha_Inicio BETWEEN #" & Format(DTPicker1.Value, "mm/dd/yyyy") & "# And #" & Format(DTPicker2.Value, "mm/dd/yyyy") & "#  And Hora_Inicio  >  Format(""06:50:00"", ""Short Time"") Order by Fecha_Inicio"

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    domingo, 31 de marzo de 2013 1:40
  • Select * From Retardos WHERE Fecha_Inicio BETWEEN #" & Format(DTPicker1.Value, "mm/dd/yyyy") & "# And #" & Format(DTPicker2.Value, "mm/dd/yyyy") & "#  And Hora_Inicio  >  Format(""06:50:00"", ""Short Time"") Order by Fecha_Inicio"

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

       Cuando hago la consulta me sale un letrero que dice: No se  especificado valores para algunos de los parametros definidos. No sé cual sea el problema ya que en otra consulta que hago en la cual es solo por fecha sin importar la hora si funciona el código que había escrito, pero ahora que hago la consulta por hora tal como tu lo dices me sale el error que te digo. Gracias por tu ayuda

    domingo, 31 de marzo de 2013 14:46
  • En tu tabla cómo se llama el campo de HORA???

    revisa que  Format(""06:50:00"", ""Short Time"") te devuelva un valor de time en formato corto... 

    Puedes?? Dime algo


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    domingo, 31 de marzo de 2013 15:25
    • Lo he cambiado a entero corto y sale el mismo error, he revisado la tabla en acces y me aparece el campo Hora (tu lo tenías como hora_Inicio, pero ya lo arregle, sin embargo cro que es algo con ese campo el error.
    domingo, 31 de marzo de 2013 15:59
  • El campo HORA en tu base de datos de qué tipo es ?? UN SALUDO

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    domingo, 31 de marzo de 2013 16:06
  • Fecha/hora  de  formato Hora corta
    domingo, 31 de marzo de 2013 17:04
  • Me he creado una base de datos access y dentro de ella una tabla con dos campos de Fecha/Hora uno con formato fecha corta y otro con hora corta. He realizado la consulta con tus condiciones y con lo que te modifiqué y me funciona.... Puedes mandar la consulta que te genera tu codigo VB cuando se lo asignas a ADODC1.Recordsource ?? A ver como te lo está asignando...

    GRACIAS Y UN SALUDO a ver si lo logramos...


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    domingo, 31 de marzo de 2013 17:14
  • La verdad el error lo comienza a arrojar desde que se carga el formulario

    Private Sub Form_Load()

    DTPicker1.Value = Date
    DTPicker2.Value = Date


    Dretardos
    Adodc1.CursorLocation = adUseClient
      Adodc1.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\LIPECUN.mdb;Persist Security Info=False"
    Adodc1.RecordSource = "Select * From Retardos WHERE Fecha_Inicio BETWEEN #" & Format(DTPicker1.Value, "mm/dd/yyyy") & "# And #" & Format(DTPicker2.Value, "mm/dd/yyyy") & "#  And Hora  >  Format(""06:50:00"", ""Long Time"") Order by Fecha_Inicio"
     
     
     Adodc1.Refresh

    Cuando carga el formulario sale un error de adoc1 que dice que no se han especifícado valores para algunos de los parametros requeridos.

    La tabla de acces tiene un campo código, Fecha, Hora

    • Editado ojdante domingo, 31 de marzo de 2013 19:18
    domingo, 31 de marzo de 2013 18:56
  • Prueba añadiendo después de CursorLocation

    Adodc1.CursorType = adOpenDynamic


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    domingo, 31 de marzo de 2013 21:09
  • Te doy garcias por tu paciencia. No tan poco funciona. No sé si haya alguna forma de enviarte la base de datos y el formulario para ver si es algo dentro de la base que no lo gro ver.}Gracias
    lunes, 1 de abril de 2013 1:34
  • Ok...mi correo es .......... Mándame el código e tu proyecto y tu bbdd y esta noche lo reviso. Saludos

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos


    • Editado Sergio Parra lunes, 1 de abril de 2013 5:31 quitar email
    lunes, 1 de abril de 2013 5:26
  • Saludos. 

    puedes poner en el between la hora de inicio y la hora de salida, luego ordenar por fecha. en el ejemplo que te pongo asumo que la hora de salida es a las 5. 

    SELECT     Codigo, Fecha
    FROM         Retardos
    WHERE     (CONVERT(datetime, CONVERT(varchar, Fecha, 108), 108) BETWEEN CONVERT(datetime, '06:50:01', 108) AND CONVERT(datetime, '16:59:00', 108))
    ORDER BY Fecha

    y puedes pones en la primera hora tu primer dtpicker1 y en la segunda tu dtpicker2.

    No olvides marcar si te sirvió. :D

    martes, 23 de abril de 2013 14:48