Filtrar tabla con varios intervalos de fechas |
Responder |
Autor | |
gose
Habitual Unido: 02/Noviembre/2007 Estado: Sin conexión Puntos: 73 |
Opciones de entrada
Gracias(0)
Enviado: 23/Noviembre/2020 a las 19:59 |
Hola . Tengo una tabla Tb_Operaciones con los siguientes campos : Id, Fecha_operacion, Concepto e Importe. Tengo tambien la tabla Tb_Intervalos con estos 3 campos : Fecha_desde, Fecha_hasta y Detalle. Esta ultima tabla suele tener al menos 10 registros, cada uno de los cuales se corresponden con distintos intervalos de fecha y no son siempre los mismos. ¿ Como puedo hacerlo de una forma automatizada ?. |
|
xavi
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 Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Opciones de entrada
Gracias(0)
|
Hola,
¿Tienes opción a añadir campos a las tablas? De ser así yo lo enfocaría de la siguiente forma En Tb_Intervalos un campo IdIntervalos. Puede ser autonumérico. Es solo por tener valores únicos. En Tb_Operaciones otro campo IdIntervalos. Numerico Largo. Solo para utilizarse temporalmente. Primeramente eliminar todos los valores que pudieran existir en el campo IdIntervalos de Tb_Operaciones Abrir un recordset sobre la Tb_Intervalos y otro sobre Tb_Operaciones. Recorrer el Tb_Operaciones y, en cada registro, localizar el registro de Tb_Intervalos adecuado. Almacenar el tb_Intervalo!IdIntervalos en el campo Tb_Operaciones!IdIntervalos Al final obtienes la tabla con los IdIntervalos. Un saludo
|
|
gose
Habitual Unido: 02/Noviembre/2007 Estado: Sin conexión Puntos: 73 |
Opciones de entrada
Gracias(0)
|
Muchas gracias Xavi, eres lo "máximo".
El planteamento que haces es perfecto y me va a simplificar otros pasos posteriores. Tengo el Access un poco "oxidado" y el codigo que hice, aparte de que tal vez pueda simplificarse, me funciona bien ya que me marca perfectamente los registros deseados. Tan solo me da un pequeño problema y es que no me "cierra" bien, ya que al final me sale el error "3021- No hay ningun registro activo". Mi código es el siguiente: Dim vDatDesde As Date Dim vDatHasta As Date Dim vIdIntervalos As Double Dim rst1 As DAO.Recordset Dim rst2 As DAO.Recordset Set rst1 = CurrentDb.OpenRecordset("Tb_Intervalos", dbOpenDynaset) Set rst2 = CurrentDb.OpenRecordset("Tb_Operaciones", dbOpenDynaset) If rst1.RecordCount = 0 Then GoTo Salida: End If rst1.MoveFirst rst2.MoveFirst Do Until rst2.EOF vDatDesde = rst1.Fields("Fecha_desde").Value vDatHasta = rst1.Fields("Fecha_hasta").Value vIdIntervalos = rst1.Fields("Id_intervalos").Value If rst2.Fields("Fecha_operacion").Value >= vDatDesde And rst2.Fields("Fecha_operacion").Value <= vDatHasta Then rst2.Edit rst2.Fields("id_intervalos").Value = vIdIntervalos rst2.Update rst2.MoveNext Else rst2.MoveNext End If If rst2.EOF Then rst1.MoveNext rst2.MoveFirst If rst2.Fields("DatOpe").Value >= vDatDesde And rst2.Fields("datope").Value <= vDatHasta Then rst2.Edit rst2.Fields("id_intervalos").Value = vIdIntervalos rst2.Update rst2.MoveNext Else End If End If Loop Salida: rst1.Close Set rst1 = Nothing rst2.Close Set rst2 = Nothing |
|
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 |