Problemas con fechas y horas |
Responder |
Autor | |
Absalón
Nuevo Unido: 27/Marzo/2021 Localización: Málaga Estado: Sin conexión Puntos: 27 |
Tema: Problemas con fechas y horas Enviado: 19/Noviembre/2022 a las 11:50 |
¡!!Hola a todos¡¡¡ Paso a exponeros un problemilla
que me ha surgido y que igual tiene una solución facilísima, pero por más
vueltas que le he dado no he conseguido resolver: Estoy confeccionando una base de
datos para el control de actividades de voluntariado para lo cual tengo 2
tablas: Voluntarios y Actividades. Para la gestión de las
actividades de los voluntarios tengo un formulario que, entre otros, tiene los
siguientes campos: Codigo (de la tabla Voluntarios –
numérico) FechaD (Fecha corta) HoraD (Hora corta) estos pasan al campo
FHDVol -
Fecha y Hora Desde FechaH (Fecha corta) HoraH (Hora corta) estos pasan al campo
FHHVol - Fecha y Hora Hasta Los campos FHDVol y FHHVol de
tipo texto y formato “00/00/000 00:00”. Para controlar FechaD y HoraD y
no introducir fecha y hora de comienzo duplicada de un mismo voluntario,
utilizo lo siguiente: If
DCount(“[Codigo]”,”Actividades”,”[Codigo] = “ & Me.Codigo & “ AND
[FHDVol] =’” & FHDVol & “’”) >0 Then Lo que no consigo solucionar, y
lo he intentado de incontables formas, es cuando al introducir los datos de
FechaH y HoraH (y pasado a FFFVol), al introducir la HoraH me deje continuar si
son correctos o me diga que ya existe una actividad del mismo voluntario y
dentro de ese rango de comienzo y fin. EJEMPLO: Actividad grabada:
Voluntario, Código: 00001 FechaD: 10/10/2022 HoraD: 09:00
FHDVol: “10/10/2022 09:00” FechaH: 10/10/2022 HoraH: 13:45
FHHVol: “10/10/2022 13:45” Nuevo registro:
Voluntario, Código: 00001 FechaD: 10/10/2022 HoraD: 10:00 FHDVol: “10/10/2022 10:00” FechaH: 10/10/2022 HoraH: 13:00 FHHVol: “10/10/2022 13:00” No sería correcto ya que entra
dentro del rango de la actividad grabada Nuevo registro:
Voluntario, Código: 00001 FechaD: 10/10/2022 HoraD: 08:00 FHDVol: “10/10/2022 08:00” FechaH: 10/10/2022 HoraH: 09:00 FHHVol: “10/10/2022 09:00” Sería correcto ya que no entra
dentro del rango de la actividad grabada Gracias de antemano por vuestra
ayuda y si consideráis que se puede hacer de una mejor forma adelante con ello. Un saludo y gracias mil |
|
Un saludo
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 20/Noviembre/2022 a las 12:37 |
https://accessaplicaciones.com/ejemplos.html#m11
A ver si te aclara algo. |
|
Absalón
Nuevo Unido: 27/Marzo/2021 Localización: Málaga Estado: Sin conexión Puntos: 27 |
Enviado: 20/Noviembre/2022 a las 19:42 |
Gracias Jesús;
Le echo un vistazo a lo que me has mandado y te cuento. Saludos desde Marbella Paco
|
|
Un saludo
|
|
Absalón
Nuevo Unido: 27/Marzo/2021 Localización: Málaga Estado: Sin conexión Puntos: 27 |
Enviado: 26/Noviembre/2022 a las 13:09 |
De antemano darte las gracias Jesús por tu aporte y decirte que me aclara las cosas bastante, lo que no consigo ver es dónde me equivoco para que me diga que los datos son de distinto tipo, lo trancribo para que me digas qué hago mal:
En primer lugar en un módulo pongo esto: Function MiFechaSQL(fecha As Date) As String MiFechaSQL = "#" & Format(fecha, "mm/dd/yyyy") & "#" End Function Function MiHoraSQL(Hora As Date) As String MiHoraSQL = "#" & Format(Hora, "hh:mm") & "#" End Function Ya en el formulario e introducidas las fechas (desde y hasta) y la hora (desde), y después de introducir la Hora (hasta) y antes de actualizar éste último campo, pongo los siguiente: Set MiActividad = CurrentDb.OpenRecordset("SELECT Codigo FROM Actividades WHERE FechaD = " & MiFechaSQL(Me.FechaD) & " AND ((" & MiHoraSQL(Me.HoraD) & "<= HoraH) AND (" & MiHoraSQL(Me.HoraH) & " >= HoraD))") Pues bien en éste punto es donde me indica que los datos son de distinto tipo. No consigo ver dónde me equivoco o qué estoy haciendo mal. Gracias Jesús Un saludo |
|
Un saludo
|
|
Absalón
Nuevo Unido: 27/Marzo/2021 Localización: Málaga Estado: Sin conexión Puntos: 27 |
Enviado: 26/Noviembre/2022 a las 20:47 |
Buenas tardes;
Después de algunas vueltas lo he solucionado, adaptando lo que me indicabas en el vínculo, de la siguiente forma: If DCount("[Codigo]", "Actividades", "[Codigo] = " & Me.Codigo & " AND [FechaD] = " & MiFechaSQL(Me.FechaD) & " AND ((" & MiHoraSQL(Me.HoraD) & "<= HoraH) AND (" & MiHoraSQL(Me.HoraH) & " > HoraD))") <> 0 Then Lo he probado introduciendo distintas fechas y horas y funciona perfectamente. Agradezco tu atención, no sabes cómo, y salvo que quieras hacerme alguna salvedad al respecto, puedes dar por finalizado éste hilo. Gracias Un saludo
|
|
Un saludo
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 27/Noviembre/2022 a las 10:19 |
Gracias a ti por la solución.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |