FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Alguien me puede decir este error!!
Buasa todo el foro. Quiero que me aparezca en un dbgrid las fechas que le queden un mes para su caducidad. Tengo una tabla en paradox con un tquery, este es mi código. Y me da el error "Type mismatch in expression".
Haber quién me puede decir algo. Gracias. Última edición por dec fecha: 02-01-2008 a las 17:32:17. |
#3
|
||||
|
||||
Mira a ver si te funciona ahora. Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#4
|
|||
|
|||
Me funciona la opción qe me da kuan-yiu, el error ya no lo tengo.... pero me muestra todas las fechas que hay en la tabla, no las que caducan dentro de un mes, y creo que el código es correcto.
Gracias a los dos por contestar tan rápido. |
#5
|
||||
|
||||
Es que la consulta que haces te saca las fechas de hace un mes "hacia atrás": te sacaría todo lo del año pasado y el anterior. Lo que necesitas es "hacia delante", ¿no?
|
#6
|
||||
|
||||
En lugar de AsFloat, debieras usar AsDateTime.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#7
|
|||
|
|||
Creo que el problemas puede estar en las conexiones, vamos haber como lo explico.... el Query conectado al datasource1, el datasourece1 a la tabla tclient y el dbgrid al datasource1.... es que no encuentro otra lógica, puesto que me sigue saliendo cuando hago la consulta todas las fechas que hay en la tabla.
Una ayuda por favor..... |
#8
|
||||
|
||||
a ver a ver... creo que el problema está en que tenes una tabla y un query. Esto no hace falta. El DataSource1 o solo tiene una fuente de datos (por eso se llama DataSource) que será la tabla o el query, pero no ambos.
A menos que se trate de una relación maestro detalle, pero eso no se ha mencionado. Los datos de dicha fuente serán los que se muestren en el grid. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#9
|
|||
|
|||
Cita:
Al principio pense que estaba mal asignados los objetos, pero viendo la sentencia del query está pasando el dato "olimpicamente".....
Por tanto, la liga de objetos debe ser mas simple
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#10
|
|||
|
|||
Antes de nada, gracias a todos... explico lo que he cambiado:
Datasource1 ligado al Query1 Dbgrid ligado al Datasouce1 Query1 no está ligado al datasource1, solo a la tabla. He tenido que quitar value, porque me da el error TYPE MISMATCH, y en su lugar he puesto asdate. Hasta aquí creo que todo correcto, pero a la hora de ejecutar no muestra nada en el Dbgrid, ya no se. por donde seguir. |
#11
|
||||
|
||||
Cita:
Si estás seguro de que sí existen, entonces revisa el tipo de campo (ya que si guarda la hora), es muy posible que el fallo venga por ahí. Otro lado por donde pueda venir el fallo, es que now() incorpora la fecha y hora, por tanto estás suministrando la parte de la hora a la consulta. Si tu campo es de tipo fecha (sin la porción de hora), quizás sea lógico el resultado. Para este caso:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#12
|
|||
|
|||
Gracias Lepe, te explico:
f_cad=:f_nueva con date solo y coincidiendo los registros, lo muestra sin problema. f_cad<=:f_nueva con date-30 y coincidiendo los registros, no lo muestra. Entonces explico o que quiero hacer, no vaya a ser que me haya explicado mal.... Quiero que en el Dbgrid me muestre las fechas de caducidad, las cuales falten para caducar 30 días o menos. Creo que lo he explicado bien... Saludos, y gracias. |
#13
|
||||
|
||||
Bueno, a ver si entendimos, tienes una campo f_nueva que es una fecha posiblemente la actual o la del momento del registro, no? entonces tienes otro campo llamado f_cad que es la fecha de caducación me parece no?, vale, y lo quieres mostrar en el dbgrid con un mes de diferencia, o sea, un mes mas de la fecha registrada en f_nueva, si es asi entonces deberias usar en la consulta una de estas dos funciones:
en caso de que uses SQL Server: ADD_MONTHS: devuelve la fecha incrementada en "n" meses.
en caso de que uses MySql: DATE_ADD
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#14
|
||||
|
||||
Cita:
- f_cad es una fecha futura - (hoy - 30 días) es una fecha pasada obviamente: "una fecha futura no es menor o igual a una fecha pasada" por eso sale el grid en blanco. Tip del día: hazte una línea del tiempo con papel y lápiz y pon ejemplos, lo verás más claro. Resumen: El where deberá ser "where f_cad between :Hoy and :Hoy + 30" Al parámetro ":Hoy" le darás el valor de la función Date(). Creo haberlo expresado de la forma más enrevesada posible , espero lo entiendas . Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#15
|
||||
|
||||
Amigo Lepe una explicación mas clara de ahi se daña..
Saludos.
__________________
Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
#16
|
||||
|
||||
Cita:
Para ver los que caducarán en el futuro (los siguientes 30 días) el query debiera ser algo como:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#17
|
||||
|
||||
jajaja.. lo siento, veo que lepe y yo hemos respondido lo mismo... es mi mala costumbre de dejar abierta una página del club mientras hago otras cosas..
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#18
|
||||
|
||||
Cita:
Lástima que lo hayas explicado de forma cristalina, mi intención era fundir neuronas de todo aquel que leyera mi respuesta . enecumene, ¿conseguí mi objetivo? OFFTOPIC: recien he acabado mi jornada laboral y estaba un pelin espeso. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 09-01-2008 a las 22:56:13. |
#19
|
|||
|
|||
Gracias enecumene, jachguate, lepe y a todos los que me habéis ayudado, ahora funciona perfectamente... Quisiera hacer una última consulta, aunque ya estaréis agobiado conmigo....
El Dbgrid se compone de dos fechas de caducidad F_cad y F_cade.... Cuando f_cad está en el rango de menos de un mes, lo muestra sin problemas, pero también muestra la fecha f_cade, aunque el rango sea mayor de un mes, sea cuando caduque siempre la muestra, y lo que necesito es que muestre la que vaya a caducar. Gracias a todos de corazón, por el tiempo que habéis perdido conmigo. Última edición por Alsaca fecha: 10-01-2008 a las 13:19:05. |
#20
|
||||
|
||||
En lo sucesivo, te recomiendo que plantees el problema completo, así nos hacemos una idea completa de lo que necesitas. Además explica qué significa cada campo, porque al entender de qué va el asunto, podremos afinar más.
Se supone que deberías hacer lo mismo para la fecha f_cade
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Alguien sabe qué significa este error??? | Chalo78 | Varios | 7 | 09-02-2006 22:32:15 |
Error en QReport - Alguien puede ayudarme? | tehuacanero | Impresión | 4 | 21-09-2005 11:14:03 |
Alguien tiene idea de que sea este error.... | Alfredo | Varios | 2 | 04-02-2005 14:59:15 |
Ehm, alguien me puede facilitar éste código? | gatsu | PHP | 3 | 09-07-2004 14:35:01 |
Me ayuda alguien con este msg de error? | NaZZ | Varios | 4 | 12-03-2004 10:31:25 |
|