Imprimir página | Cerrar ventana

ERROR EN CONSULTA

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86732
Fecha de impresión: 27/Marzo/2026 a las 04:50


Tema: ERROR EN CONSULTA
Publicado por: Coleman
Asunto: ERROR EN CONSULTA
Fecha de publicación: 03/Julio/2023 a las 23:13
HOLA, buenas tardes tengo una consulta llamada sqlfecha  con todas la fecha del año, ahora bien me quiero traer el Id de la fecha el cual corresponda el día pero me esta dando error.. le muestro lo que hice..
Dim basedato As Database
    Dim tablas As Recordset
        Set basedato = DBEngine.Workspaces(0).Databases(0)
     Set tablas = basedato.OpenRecordset("SELECT * FROM SQLFECHA WHERE   FECHASIS = #" & Format(Date, "mm-dd-yyyy") & "#;")
       With tablas
       If Not .EOF Then
           
       Else
            ID = !IDFECHA   >>> me da el error no me muestra el id, no me muestra el id
           
       End If
         
       End With
     Set basedato = Nothing
     Set tablas = Nothing

-------------
coleman hijo hd padre



Respuestas:
Publicado por: xavi
Fecha de publicación: 04/Julio/2023 a las 08:52
Hola,

1. ¿El campo ID existe en la tabla?
2. ID (el que tienes en la línea azul) ¿es un control del formulario?
3. ¿Hay registros para la fecha de hoy?
4. Si solo quieres ese dato, lo puedes simplificar en una sola línea:
Me!ID = DLookup("ID", "SQLFECHA", "FECHASIS = #" & Format(Date, "mm/dd/yyyy") & "#")

De hecho, puedes probar esta línea en la ventana de inmediato a ver si te devuelve algo:

? DLookup("ID", "SQLFECHA", "FECHASIS = #" & Format(Date, "mm/dd/yyyy") & "#")

Un saludo



-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Mihura
Fecha de publicación: 04/Julio/2023 a las 09:41
Ojo, que dependiendo de cómo haya hecho esa consulta el campo que contenga la fecha puede ser de tipo string.

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: Coleman
Fecha de publicación: 04/Julio/2023 a las 16:50
hola gracias por responder, esta tipo fechan el campo en la tabla, voy a probar lo que dice xavi..


-------------
coleman hijo hd padre


Publicado por: Coleman
Fecha de publicación: 04/Julio/2023 a las 19:54
listo gracias ambos por el apoyo, podemos cerrar este hilo


-------------
coleman hijo hd padre


Publicado por: xavi
Fecha de publicación: 05/Julio/2023 a las 13:33
¿Y el error venía de...?

-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: happy
Fecha de publicación: 06/Julio/2023 a las 20:37
Yo creo que el error viene de que lo está haciendo al revés, ya que intenta recuperar el valor del ID en el sitio incorrecto, es decir, en vez de esto que es lo que está haciendo:

Set tablas = basedato.OpenRecordset("SELECT * FROM SQLFECHA WHERE   FECHASIS = #" & Format(Date, "mm-dd-yyyy") & "#;")
       With tablas
       If Not .EOF Then
           
       Else
            ID = !IDFECHA   >>> me da el error no me muestra el id, no me muestra el id
           
       End If

debe de hacer esto otro:

Set tablas = basedato.OpenRecordset("SELECT * FROM SQLFECHA WHERE   FECHASIS = #" & Format(Date, "mm-dd-yyyy") & "#;")
       With tablas
       If Not .EOF Then
           ID = !IDFECHA
       Else
       ' Aqui se ha llegado al final del recordset y por lo tanto no hay registros coincidentes
           
       End If


-------------
Saludos,

Juan M. Afan de Ribera



Imprimir página | Cerrar ventana