Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Consultas por fecha

Hola!
Tengo un problemita, lo que pasa es que tengo 7 tablas con los mismos campos y quiero que el usuario consulte por fecha de cada tabla, pero el formato de la fecha de mi tabla es dd/mm/aaaa y en sql el formato es mm/dd/aaaa entonces quiero cambiar el formato, osea que el usuario capture dd/mm/aaaa lo ke hago es lo sig:
Código Delphi [-]
consulta:='select * from Aluminio where Fecha =';
consulta:=consulta+quotedstr(edit1.Text);
consulta:=consulta+'order by Folio';
Query1.SQL.Clear;
Query1.SQL.Add(consulta);
Query1.Active;
Query1.Open;
Si hace la consulta pero el usuario tendria ke capturar la fecha asi mm/dd/aaaa como les comento yo kiero ke capture dd/mm/aaaa
espero ke me puedan ayudar
Gracias
Responder Con Cita
  #2  
Antiguo 17-01-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
utiliza los parametros asi no tendras que preocuparte por el formato de las fechas en las consultas
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 18-01-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
creo que esto ya lo había vivido en otro hilo, pero no recuerdo donde...


Lo mejor es que el usuario capture la fecha en un TDateTimePicker que en lugar de un TEdit, así ni tú, ni el usuario, tendrían que preocuparse por el formato.

Y a la hora de pasarlo a SQL, utiliza parámetros, de esa manera tú no tendrías que preocuparte por el formato.
__________________


Última edición por ContraVeneno fecha: 21-01-2008 a las 15:58:12.
Responder Con Cita
  #4  
Antiguo 20-01-2008
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Hazlo de esta forma
Código Delphi [-]
ConsultaSQL:='select * from Aluminio where fecha = #'+formatdatetime('mm/dd/yyyy',datetimepicker.date)+'#';
with query1 do
  begin
     sql.clear;
     sql.add(ConsultaSQL);
     open;
  end;

así debe funcionar...

Saludos...
Responder Con Cita
  #5  
Antiguo 20-01-2008
donki donki is offline
Miembro
 
Registrado: oct 2006
Posts: 24
Poder: 0
donki Va por buen camino
Hola GustavoCruz,

Es bastante engorro construir la string de consulta con una fecha con formato.

Yo te propongo lo que se comentan por otros foros y poner parámetros a la consulta:

Por ejemplo:

q.SQL.Text = 'Select * From Tabla Where Fecha=:MyFecha';
q.Parameters[0].Value = '01/01/2008';

De esta forma te puedes olvidar de los formatos de fechas.

Suerte
__________________
Grandes frases de nuestro tiempo:
"La pasta no és para tirarla, es para el Tunning"

"TodoOK=False...."

Enjoy it!!!
Responder Con Cita
  #6  
Antiguo 21-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Gracias

Muchas Gracias a todos!
Ya solucione el problema
Responder Con Cita
  #7  
Antiguo 21-01-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Sería de mucha ayuda para nosotros y para los futuros foreros, que nos dijeras de que manera lo solucionaste.
__________________

Responder Con Cita
  #8  
Antiguo 21-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Gracias

Hice lo que me dijiste contraveneno lo de usar un datetimepicker y use parametros eso es todo
Bye Muchas Gracias
Responder Con Cita
  #9  
Antiguo 22-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Consultas entre dos fechas

Hola!
Ahora como le hago si el usuario selecciona la tabla mediante un combobox y quiero hacer la consulta entre dos fechas, lo que yo hago es lo siguiente pero me marca un error:
Código Delphi [-]
table1.Active:=false;
table1.TableName:=combobox1.Items[combobox1.ItemIndex];
table1.Active:=true;
case combobox1.ItemIndex of
    0:begin
    Query1.SQL.Text:='select * from Aluminio where Fecha = between :    Fecha1 and : Fecha2';
    Query1.Params[0].AsDate:=datetimepicker1.Date;
    Query1.Params[1].AsDate:=datetimepicker2.Date;
    Query1.Active := true;
    Query1.Open;
    end;
end;
Estoy ocupando un solo dbgrid, un table y un query estoy bien?
Gracias
Responder Con Cita
  #10  
Antiguo 23-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Esta mal tu SELECT, debe ser:

Código Delphi [-]
Query1.SQL.Text:='select * from Aluminio where Fecha between :Fecha1 and :Fecha2'

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 23-01-2008 a las 00:08:36.
Responder Con Cita
  #11  
Antiguo 23-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Pero me marca un error cuando selecciono la tabla
'invalid use of keyword. Token: Fecha1
Por que pasa eso?
Saludos Gracias!

Última edición por gerasA fecha: 23-01-2008 a las 22:20:35.
Responder Con Cita
  #12  
Antiguo 23-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por gerasA Ver Mensaje
Pero me marca un error cuando selecciono la tabla
'invalid use of keyword. Token: Fecha1
Por que pasa eso?
Saludos Gracias!
Pues entonces el problema está en "otras" partes, porque acabo de probar el código y funciona perfectamente

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  Query1.SQL.Text:='select * from llamadas where Fecha between :Fecha1 and :Fecha2';
  Query1.Params[0].AsDate:=datetimepicker1.Date;
  Query1.Params[1].AsDate:=datetimepicker2.Date;
  Query1.Active := true;
  Query1.Open;
end;

Salud OS

PD: Solo como comentario, estoy usando un Query asignando solamente el DatabaseName, no tiene mas nada, ni parámetros, ni campos dentro de la propiedad SQL, ni nada.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #13  
Antiguo 23-01-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Quitale el espacio que hay entre los dos puntos y el fecha 1
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #14  
Antiguo 23-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Pero lo haces de manera ke esojas la tabla por medio de un combobox?
Lo que yo hago es ke el usuario escoge la tabla por medio de un combobox y es ahi cuando marca el error.
No se si estoy enlazando mal el datasource, el dbgrid, la tabla o el query.
Gracias!
Responder Con Cita
  #15  
Antiguo 23-01-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por gerasA Ver Mensaje
Pero lo haces de manera ke esojas la tabla por medio de un combobox?
Lo que yo hago es ke el usuario escoge la tabla por medio de un combobox y es ahi cuando marca el error.
No se si estoy enlazando mal el datasource, el dbgrid, la tabla o el query.
Gracias!
Y que objeto tiene que abras una tabla y después uses un query, no entiendo, como diria Caral, me lo explicas?

Salud OS

Edito: Estas usando el código como te lo puse?
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #16  
Antiguo 23-01-2008
gerasA gerasA is offline
Miembro
 
Registrado: ene 2008
Posts: 16
Poder: 0
gerasA Va por buen camino
Gracias

Gracias eduarcol y egostar!
Quite como me dijiste eduarcol el espacio entre : y fecha1 y arregle el problema.
Y si es cierto egostar no necesito de una tabla si tengo el query.
Gracias a todos!
bye Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14
Consultas SQL V.S. Consultas Clipper AGAG4 SQL 7 20-12-2005 15:59:31
Consultas por fecha en access Mashabak Conexión con bases de datos 2 16-06-2004 19:33:17
hacer consultas buscando por fecha VRO Firebird e Interbase 10 07-06-2004 16:39:39
Como puedo hacer consultas de fecha con el componente Datetimepicker Julio César Varios 2 06-07-2003 05:24:51


La franja horaria es GMT +2. Ahora son las 12:21:34.


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