Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Alguien me puede decir este error!! (https://www.clubdelphi.com/foros/showthread.php?t=51858)

Alsaca 10-01-2008 13:46:10

Gracias Lepe, y perdona por no haber puesto todo desde el principio.. No me funciona bien... prefiero mandarte los fuentes y que tu lo veas directamente lo que pasa... si quieres me das tu correo o por msn, como quieras.



Gracias.

enecumene 10-01-2008 14:18:34

Cita:

Empezado por Lepe (Mensaje 257039)
Lástima que lo hayas explicado de forma cristalina, mi intención era fundir neuronas de todo aquel que leyera mi respuesta :p :p. enecumene, ¿conseguí mi objetivo? :D

Claro que si Amigo Lepe, y por lo visto el amigo Alsaca lo pudo resolver seguro gracias a tu explicación.

Saludos.

Alsaca 10-01-2008 15:44:01

Por favor, no quiero malos rollos por mi culpa, todos me habéis ayudado mucho.



Gracias a todos.

enecumene 10-01-2008 15:49:45

Cita:

Empezado por Alsaca (Mensaje 257178)
Por favor, no quiero malos rollos por mi culpa, todos me habéis ayudado mucho.



Gracias a todos.

No hombre aqui esta pasando nada, no te preocupes solo estamos conversando entre amigos, no pasa nada.

Saludos.

jachguate 10-01-2008 17:34:08

Hola.

Me alegra que se haya avanzado en el problema.
Cita:

Empezado por Alsaca (Mensaje 257114)
Quisiera hacer una última consulta, aunque ya estaréis agobiado conmigo....

Cita:

Empezado por Alsaca
prefiero mandarte los fuentes y que tu lo veas directamente lo que pasa... si quieres me das tu correo o por msn, como quieras

Claro que quien decide si acepta esto o no es Lepe, pero quiero aprovechar para acotar lo que, según mi punto de vista, debiera ocurrir.

Estos foros son un sitio donde el conocimiento se transmite de una manera asombrosa y, según yo lo veo, su principal objetivo es que esto ocurra. Dicho en otras palabras, es que vos aprendas, con la ayuda de todos, y ya has visto que talento no nos falta entre las personalidades que participan y aportan en el club.

Lo que no es nuestro objetivo acá, es hacer el trabajo o asumir las responsabilidades de nadie. Claro que nadie aprende simplemente por el hecho de recibir una buena explicación, quienes lo hacen son quienes se queman las pestañas y dedican suficiente tiempo y esfuerzo en hacerlo...

Con todo respeto, creo que has recibido ayuda suficiente para salir del problema por vos mismo. Quizás tome mas de 5 minutos... eso depende de vos.

Por mi, si volves acá después de un par de días con el mismo problema, pero ya habiéndote esforzado, no hay ningún inconveniente en darte un empujón... pero por ahora, creo que es suficiente.

Que conste en actas que digo todo esto sin mal rollo.

Hasta luego.

;)

Alsaca 10-01-2008 17:36:38

Bueno después de un poco de calma, pongo lo que lepe me ha comentado:


Query1.Close;
Query1.SQL.Clear;
Query1.SQL.add( 'select * from tclient where (f_cad between :Hoy and :unmes)');
Query1.SQL.add( ' and (f_cade between :hoy and :unmes)');
Query1.parambyname('hoy').asDatetime := Date;
query1.ParamByName('unmes').asdatetime :=date + 30;
Query1.Open;

NO muestra nada en el dbgrid, esté cualquiera de las dos fechas en el rango de hoy + 30.


Donde está el error?


Saludos.

Alsaca 10-01-2008 17:41:09

Estoy de acuerdo jachguate y perdona si he abusado de ustedes... intentaré resolver el problema yo mismo como pueda....


Os pido mil disculpas....



Saludos de ALsaca.

enecumene 10-01-2008 17:52:48

Cita:

Empezado por Alsaca (Mensaje 257207)
Bueno después de un poco de calma, pongo lo que lepe me ha comentado:


Query1.Close;
Query1.SQL.Clear;
Query1.SQL.add( 'select * from tclient where (f_cad between :Hoy and :unmes)');
Query1.SQL.add( ' and (f_cade between :hoy and :unmes)');
Query1.parambyname('hoy').asDatetime := Date;
query1.ParamByName('unmes').asdatetime :=date + 30;
Query1.Open;

NO muestra nada en el dbgrid, esté cualquiera de las dos fechas en el rango de hoy + 30.


Donde está el error?


Saludos.

veo algo extraño aqui, pero hay algo repetido en la sentencia "(f_cade between :hoy and :unmes)" esta puesto dos veces, y otra cosa, intentaste usar las sentencias que te recomende anteriormente??.

Saludos.

Lepe 10-01-2008 17:54:38

Estoy de acuerdo con jachguate, lo importante es dar pistas y que la propia persona que pregunta lo tome como punto de partida, pero a veces, un código es más aclaratorio que media página explicando los conceptos.

Según veo en tu penúltimo mensaje, has hecho una mezcla entre lo que jachguate y yo hemos dicho, por tanto es obvio que te has esforzado en entender el problema.

En cuanto al problema, ten en cuenta que las dos claúsulas se enlazan por medio del operador "and", es decir, tanto f_cad y f_cade deben estar en ese rango de fechas para ser mostrado en el grid. Si un registro tiene f_cad en el rango de fechas pero f_cade está fuera del rango, no mostrará ese registro en el grid. Si en lugar del operador "and" usas un "or" si obtendrás este registro en el grid.

Ya esto es problema del lenguaje SQL, te aconsejo un manual SQL de tantos que hay en internet. Avanzarás más rápido por tí mismo que esperar una respuesta por parte del foro.

Saludos

Lepe 10-01-2008 17:56:30

Cita:

Empezado por enecumene (Mensaje 257216)
veo algo extraño aqui, pero hay algo repetido en la sentencia "(f_cade between :hoy and :unmes)" esta puesto dos veces

No exactamente, fíjate que son dos campos distintos f_cad y f_cade. El hecho de repetir parámetros no es pega ninguna.

Saludos

enecumene 10-01-2008 17:59:10

Cita:

Empezado por Lepe (Mensaje 257219)
No exactamente, fíjate que son dos campos distintos f_cad y f_cade. El hecho de repetir parámetros no es pega ninguna.

Saludos

:eek::eek:Vale no me habia fijado, es cierto.:D:p

Alsaca 10-01-2008 18:07:05

Gracias a todos y os pido me perdonéis. Buscaré manuales e intentaré buscar la solución correcta al problema que tengo....



Muchas gracias a todos y mil disculpas....


Alsaca.


La franja horaria es GMT +2. Ahora son las 03:12:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi