FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Consulta con hora en access
Buenos días a todos,
he estado buscando por los foros pero no he encontrado algo que me solucione el problema, os cuento, he puesto una consulta de sql
Esto me dice que "el objeto parameter está mal definido bla,bla bla", sucede porque la hora lleva en su cadena los dos puntos ( y lo considera un parametro, entonces voy y pongo la hora como parametro y se lo paso desde fuera, me queda así.
Pero entonces me dice que le parametro hora no existe y supongo que es porque considera que el parametro se llama :hora#, me coge la almohadilla como nombre del parametro, pero en access tengo que pasarle las fechas y las horas con almohadillas. ¿Que otra cosa puede probar?, ¿se os ocurre algo?, gracias de antemano y espero que se me haya entendido. Un saludo. |
#2
|
||||
|
||||
Hola
Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
Gracias por responder tan rápido Caral, pero el problema es que si en la hora no le meto las almohadillas, como en la fecha, access no me toma bien la consulta.
En la solución que me pones le quitas las almohadillas que te comento: Pero yo debería dejarlo así:
Y de esta forma, como te comentaba un poco más arriba, me dice que el parametro hora not found (supongo yo que es porque toma el parametro como si fuera :hora#) Gracias de todas formas por tu ayuda, a ver si se te ocurre algo porque estoy bantante perdido. Un saludo. |
#4
|
||||
|
||||
Ya me había ocurrido antes y creo que si:
Así es, si :hora es un parámetro, lo estás poniendo dentro de un string, lo digo por las comillas. Porqué no lo haces de esta forma como lo hiciste en el campo anterior???
Creo que de alguna manera están interviniendo negativamente las almohadillas en combinación con los dos puntos de tu parámetro, quizás te funcione mejor así.
Saludos
__________________
Herr Heins Faust |
#5
|
||||
|
||||
Hola Faust, gracias a ti también por responder tan rápido,
el caso es que como lo tenía al principio, que era con TimeToStr(time), me suelta el error de "objeto parameter mal definido" y creo que es porque al ser una hora me considera a partir de los dos puntos el parametro (12:16) el parametro sería :16 (o por lo menos creo yo que pasa esto). Si pongo, como me comentas, datetostr(time) me pone, en lugar de una hora, la fecha del 31/12/1899, por lo que tampoco puedo solucionarlo de esta forma, sigo probando cosas, ¿no se podría hacer un cast al valor de SQL y al de delphi para que en vez de una hora comparara un número?, no se, como os digo sigo probando. Un saludo. |
#6
|
||||
|
||||
Hola
Saludos
__________________
Siempre Novato |
#7
|
||||
|
||||
Hola Caral, lo que ocurre es que con la fecha no tengo ningún problema, si quito la parte de "horaprog" la consulta funciona correctamente, ahora, al añadir "horaprog", que es un campo que está guardado en access en formato fecha/hora del tipo de hora larga, si no le pongo las almohadillas no me da ningún error, pero tampoco me devuelve ningún registro y tengo registros que cumplen la condición, y al ponerle las almohadillas me da el error que antes te comentaba, si pongo directamente la consulta, con sus almohadillas correspondientes, en access la consulta funciona correctamente y me saca los registros que tiene que sacar, el valor que le tengo que pasar para hacer la comparación a "HoraProg" tiene que quedar así: #12:10#, por ejemplo.
¿No se si se me explico bien?. Un saludo. |
#8
|
||||
|
||||
Hola
No se, cualquier cosa nos pasas el programa y la bd y lo revisamos a ver cual es el error. Saludos
__________________
Siempre Novato |
#9
|
||||
|
||||
Ay perdón, ahora si la cagu*... ja ja ja tienes razón es TimeToStr... yo recuerdo que hace unos tres años solucioné esto... pero no me acuerdo como deja pienso un poco.
__________________
Herr Heins Faust |
#10
|
||||
|
||||
Creo que ya sé...
A ver... Construye toda tu consulta sin parámetros y en el query pones la propiedad ParamCheck a False y ahora si le pones como te recomendé en mi primer respuesta
Ahora si con TimeToStr o más bien, como en tu pregunta con la que abres el hilo
Creo que así lo resolví... Lo que pasa es que tienes razón, los dos puntos de la hora los confunde con parámetros y se hace bolas, al poner ParamCheck a False queda inhabilitado el uso de parámetros, pero si construyes tu Select como en esta última opción no tendrás problemas.
__________________
Herr Heins Faust |
#11
|
||||
|
||||
Os paso el trozo de código de la discordia y la tabla a la que le hago la consulta.
Un saludo Última edición por ElDioni fecha: 27-12-2010 a las 16:52:46. |
#12
|
||||
|
||||
Señores me tengo que marchar, hasta mañana no me pondré de nuevo con este tema, lo digo por que no podré responderles si escriben alguna solución, no quiero que crean que nos le hago caso. Mañana les contaré si se me ocurrió algo.
Un saludo y gracias. |
#13
|
||||
|
||||
Hola
Asi me funciona perfectamente: Saludos
__________________
Siempre Novato |
#14
|
||||
|
||||
Como os comentaba ayer he vuelto con el asunto esta mañana, muchas gracias a los dos por vuestro tiempo y vuestras propuestas, al final con la opción de Faust me funciona perfecto, al final se queda así:
He tenido que modificar la consulta porque ayer a las 13:00 si me sacaba los mensajes que tenían la fecha de ayer y las 12:00 en la hora, pero hoy a las 8:00 de la mañana, de la forma en que lo tenía puesto, no me sacaba los mensajes, aparte de eso todo genial. He probado también tu opción Caral y me sigue apareciendo el mensaje de vacío, no se si tendrá que ver con la versión de access que yo tengo que es la 97 , de todas formas gracias de nuevo a los dos. Un saludo. |
#15
|
||||
|
||||
Cita:
No debería de ser, el funcionamiento de cada una es el siguiente: ExecSQL se utiliza cuando tu SQL no regresa datos, p. ej. cuando es una inserción, modificación, etc. Open se utiliza cuando tu consulta retorna un conjunto de datos, p. ej. un SELECT, la ejecución de un procedimiento almacenado que devuelva registros, etc. Saludos... y toma en cuenta esto último.
__________________
Herr Heins Faust |
#16
|
||||
|
||||
Gracias Faust, lo tendré en cuenta.
Un saludo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta SQL con fecha y hora | vpepen | SQL | 0 | 10-12-2009 17:11:13 |
Consulta MySQL con fecha y hora | Adrian Murua | SQL | 10 | 19-11-2007 05:32:08 |
Grabar hora en Access | silver07 | Conexión con bases de datos | 7 | 27-09-2007 03:32:42 |
Problema con hora en consulta SQL | coleleon | SQL | 5 | 06-12-2005 23:44:57 |
Introducir Campo hora en Access | lroblesco | Conexión con bases de datos | 2 | 07-02-2005 23:18:22 |
|