FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Consulta complicada
Hola chicos, tengo un (gran) problema con una consulta que quiero hacer.
En un programa de pedidos que he hecho, he abierto un apartado para mostrar solo los pedidos de un año en concreto (imaginense que tengo pedidos de 2004,2005 y 2006 y solo quiero mostrar los de 2006). El problema que el apartado fecha tiene el formato "xx/xx/xxxx" y no se como hacer la consulta. En este apartado queria que aparecieran en una lista todos los años diferentes que hay en los pedidos, de forma que el usuario seleccionara el año que quiere mostrar en el programa, de forma que si el campo tuviera solo el año la consulta seria:
El problema empieza aqui, ya que el campo fecha es del formato que he mencionado anteriormente... ¿Alquien me puede intentar ayudar? Lo agradeceria mucho porque el programa ya lo tengo funcinando desde hace unos meses y veo que el proximo año tendre muchíiiiiisimos pedidos y va a ser costoso de mirar. Gracias de antemano.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#2
|
||||
|
||||
__________________
Última edición por ContraVeneno fecha: 29-06-2006 a las 23:03:39. |
#3
|
||||
|
||||
Llamada al proc. no valida
Muchas gracias, esta sentencia me viene al pelo, pero me da error:
"No se han especificado valores para algunos de los parametros requeridos" Entonces en parameters le asigno valor date a year y se pone 0:00:00 "Llamada al procedimiento no valida" He tenido que quitarle order by ... porque me decia que era incompatible con distinct ... Solo quiero que muestre los distintos años de pedidos que tengo... ¿donde puede estar el error?
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#4
|
||||
|
||||
Los ejemplo que puse, funcionan perfectamente, ya los probé.
¿por qué no pones tu consulta para ver donde esta el error? Order by no tienen ningún problema al trabajar con distinct. Pon tu consulta y la revisamos.
__________________
|
#5
|
||||
|
||||
Mira esto:
He estado intentando y sigue sin funcionarme.
En un form tengo un dbgrid que es donde van a aparecer los datos, en un datasource tengo el ADOquery donde aparece el codigo que tu me has escrito antes:
Cuando abre el form aparecen los errores que comentaba antes. La tabla de donde extrae los datos tiene los siguientes campos: pedidos{num, fecha, proveedor, estado, nota} donde fecha es un campo date/time de una tabla de access Muchas gracias
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#6
|
||||
|
||||
Hola!
Primero que nada, vale la pena aclarar que la las siguientes sentencias funcionan perfectamente en MS SQL Server:
,Pero si estas utilizando Access como dices en el último mensaje, la sentencia debería ser:
y efectivamente el Order By da conflicto con el distinct , pero yo hice una serie de pruebas y de todas formas siempre lo ordena ascendentemente. Por lo tanto la sentencia anterior es equivalente y puede servirte. NOTA: Te recomiendo que deberias tratar de usar una base de datos un poco mas potente como SQL Server, MySQL, Sybase, etc. Tiene muchas mas posibilidades al tener este tipo de requerimientos. |
#7
|
||||
|
||||
no habías mencionado que era en access, y como estamos en el foro de MS SQL Server pues asumí que estábamos hablando del SQL server.
__________________
|
#8
|
||||
|
||||
¿qué hago yo aquí?
Lo siento, debí confundirme al clickear, la tabla es acces si... supongo que así se complican las cosas, ¿no?
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#9
|
||||
|
||||
Al principio yo también lo creí, pero noté que en el ultimo mensaje puso "fecha es un campo date/time de una tabla de access".
Consejo para superhopi: Cuando quieras consultar sobre algún problema, mensiona con que estas trabajando. |
#10
|
||||
|
||||
Bueno lo importanta es: Te funciono la sentencia?
|
#11
|
||||
|
||||
Ains ^_^U
Vale vale, no me pegueis jo
Jejeje, ¿se puede cambiar de ubicacion el mensaje? Voy a intentarlo para ponerlo en su sitio Ah bueno, y el problema persiste ¡¡Socorro!!
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#13
|
||||
|
||||
mmmmm... olé
Gracias, si que me funciona.
Problema solucionado, ¿qué haría yo sin vosotros? Os preguntaréis como no había caído yo en esta sentencia... misterios de la vida... Otra vez gracias.
__________________
Si me ves durmiendo no me despiertes, podría estar soñando que soy libre. |
#14
|
||||
|
||||
Ok De nada.
|
#15
|
||||
|
||||
Por cierto...
En SQL Server (TSQL, para ser mas especificos) existe la funcion YEAR, que dandole un parametro tipo fecha, te devuelve el a~o correspondiente. Tambien estan las funciones DAY y MONTH que retornan cada valor. SELECT * FROM Tabla WHERE YEAR(campofecha) = 2006
__________________
Héctor Geraldino Software Engineer |
#16
|
||||
|
||||
Es cierto, aunque en el caso de superhopi necesitaba algo como:
SELECT DISTINCT YEAR(campofecha) FROM Tabla ORDER BY YEAR(campofecha) |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta Complicada | tcp_ip_es | SQL | 2 | 09-06-2006 16:05:30 |
Consulta complicada | Luciano M. | SQL | 6 | 01-12-2005 19:30:15 |
Consulta complicada | cval | SQL | 4 | 21-09-2005 18:04:27 |
Consulta Complicada | NickName | SQL | 6 | 29-04-2004 07:33:31 |
Complicada consulta | mosorio | SQL | 3 | 12-08-2003 20:12:00 |
|