|
Responder
|
| Autor | |
zelarra
Habitual
Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Tema: [Resuelto] Problema con tipo de datos en un filtroEnviado: 04/Diciembre/2020 a las 08:03 |
|
Buenos días.
Tengo un problema con un filtro que me está volviendo loco y no encuentro el error poque todo lo veo correcto. A ver si soy capaz de explicarlo bien: Tengo un formulario continuo que filtro a través de dos desplegables vinculados: año y mes. Os adjunto imágenes para que veáis cómo lo tengo montado. El desplegable por el que filtro se basa en una consulta de unión. Para sacar el mes en texto, utilizo una función personalizada. Y, después de actualizar el desplegable MesAñadido, lo que hago es llamar a la función para establecer el filtro y aplicarlo al formulario. Os adjunto también una captura de un Debug.Print comparando con otro desplegable similar (Año y Mes leído), pero en el que el desplegable no está basado en una consulta de unión, sino en una consulta normal. Ahí podéis ver que, a simple vista, toman los mismos valores. Aquí está el mensaje que me da: Por favor, alguien que me ayude porque no veo el error. Espero que la info aportada sea suficiente. Si necesitáis saber algo más, decidme, por favor. Muchas gracias.
Editado por zelarra - 04/Diciembre/2020 a las 16:48 |
|
![]() |
|
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: 14926 |
Enviado: 04/Diciembre/2020 a las 09:02 |
|
Hola,
Me parece que el filter del AñoAñadido lo tienes delimitado con ' por lo que indicaría que el campo es un texto. ¿lo es?
|
|
![]() |
|
zelarra
Habitual
Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 04/Diciembre/2020 a las 09:14 |
|
En problema creo que no es con el año, porque si filtro solo con el año no da error. Además de que en el otro desplegable similar funciona y es similar. He probado a poner el año como número y no funciona
|
|
![]() |
|
zelarra
Habitual
Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 04/Diciembre/2020 a las 10:06 |
|
He probado con el año, y me sigue dando el error. El problema está en el mes
https://www.dropbox.com/s/wnk5ejendcaoc1m/ScreenShot010.jpg?dl=0
|
|
![]() |
|
zelarra
Habitual
Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 04/Diciembre/2020 a las 11:36 |
|
Ya he detectado el error. En la consulta de origen del formulario, en el campo que utilizo para filtrar, daba un error, y claro, como que había dos tipos de datos.
Entonces, estoy intentando solucionarlo. Para ello, voy a crear una función personalizada, pero no soy capaz de jugar con las fechas. Estos son los datos: Como veis, hay registros en que no hay fecha. Como hay dos fechas de añadido, quiero juntarlo en un solo campo con la siguiente función: Function EscogerFechaAñadido(Estado As Integer, Comprar As Long, Pendiente As Long) As Date Select Case Estado Case 2 EscogerFechaAñadido = Comprar Case 4 EscogerFechaAñadido = Pendiente Case Else If Comprar < Pendiente Then EscogerFechaAñadido = Comprar Else EscogerFechaAñadido = Pendiente End If End Select End Function Esa es la lógica que tiene que seguir. Ahora bien, mi problema está con los tipos de variables: he probado con String, con Long, con Date, y no hay manera. También he probado a llamar a la función desde la consulta así: EscogerFechaAñadido(Estado;Nz(Comprar;0);Nz(Pendiente;0)) Pero no salen bien los datos, además de que muestra un 0:0:0, cuando yo quiero que deje la celda vacía. ¿Alguien me puede ayudar? Gracias.
|
|
![]() |
|
zelarra
Habitual
Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 04/Diciembre/2020 a las 16:47 |
|
Ya lo he arreglado. La solución era esta:
Function EscogerFechaAñadido(Estado As Integer, Comprar As Date, Pendiente As Date) As Date Select Case Estado Case 2 EscogerFechaAñadido = Comprar Case 4 EscogerFechaAñadido = Pendiente Case Else If Comprar = 0 Then EscogerFechaAñadido = Pendiente ElseIf Pendiente = 0 Then EscogerFechaAñadido = Comprar Else If Comprar < Pendiente Then EscogerFechaAñadido = Comprar Else EscogerFechaAñadido = Pendiente End If End If End Select End Function Muchas gracias a todos.
|
|
![]() |
|
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 |