Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   consulta por fecha (tipo Date) delphi (https://www.clubdelphi.com/foros/showthread.php?t=73795)

negrokau 17-05-2011 17:28:03

consulta por fecha (tipo Date) delphi
 
hola a todos, necesito hacer una consulta que me muestre todos los registros de una fecha a otra fecha, mi campo de fecha es de tipo date (00/00/00), cree 2 dbtext (dbtext1 y dbtext2) para las fechas, y un boton ACEPTAR donde voy a programar la consulta, peor como podria ser la consulta? y despues que me muestre en un dbgrip... muchas gracias...

Casimiro Notevi 17-05-2011 17:30:48

Hola, bienvenido a clubdelphi, por favor, no olvides leer nuestra guía de estilo, muchas gracias por tu colaboración.

oscarac 17-05-2011 17:46:10

podrias indicar que base de datos estas usando? y si tienes algo de codigo ponerlo

BlueSteel 17-05-2011 18:02:21

Hola

igual es necesario que indiques con que motor estas trabajando...


aqui te dejo un ejemplo de un filtro por fecha, utilizando dos componentes DateTimePicker (vDes y vHas). Aqui se esta trabajando con Interbase

Código Delphi [-]
Datos.IBQ_Select.SQL.Clear;
Datos.IBQ_Select.SQL.Add('Select * From "Orden","Proveedor"');
Datos.IBQ_Select.SQL.Add('Where "Orden"."Pro_Rut"="Proveedor"."Pro_Rut"');
Datos.IBQ_Select.SQL.Add('And "Orden"."Ord_Fecha" Between :Var1 And :Var2');
Datos.IBQ_Select.SQL.Add('And "Pro_Razon" Like'+QuotedStr('%'+vBus.Text+'%'));
Datos.IBQ_Select.SQL.Add('Order By "Ord_Numero"');
Datos.IBQ_Select.Params[0].AsDate := vDes.Date;
Datos.IBQ_Select.Params[1].AsDate := vHas.Date;
Datos.IBQ_Select.Open;

Salu2

negrokau 17-05-2011 18:21:18

como te habras dado cuenta, soy novato en delphi, estoy unsando como motor interbase, no estoy entendiendo del todo la consulta, a partir de aqui:
Datos.IBQ_Select.SQL.Add('And "Orden"."Ord_Fecha" Between :Var1 And :Var2');
Datos.IBQ_Select.SQL.Add('And "Pro_Razon" Like'+QuotedStr('%'+vBus.Text+'%'));
Datos.IBQ_Select.SQL.Add('Order By "Ord_Numero"');
Datos.IBQ_Select.Params[0].AsDate := vDes.Date;
Datos.IBQ_Select.Params[1].AsDate := vHas.Date;
Datos.IBQ_Select.Open;

disculpa la molestia y gracias por el tiempo que me estas dando...

BlueSteel 18-05-2011 00:40:34

Hola

Te paso a explicar el codigo

Código Delphi [-]
Datos.IBQ_Select.SQL.Clear;
Datos.IBQ_Select.SQL.Add('Select * From "Orden","Proveedor"');
Datos.IBQ_Select.SQL.Add('Where "Orden"."Pro_Rut"="Proveedor"."Pro_Rut"');
Datos.IBQ_Select.SQL.Add('And "Orden"."Ord_Fecha" Between :Var1 And :Var2');
Datos.IBQ_Select.SQL.Add('And "Pro_Razon" Like'+QuotedStr('%'+vBus.Text+'%'));
Datos.IBQ_Select.SQL.Add('Order By "Ord_Numero"');
Datos.IBQ_Select.Params[0].AsDate := vDes.Date;
Datos.IBQ_Select.Params[1].AsDate := vHas.Date;
Datos.IBQ_Select.Open;

Datos := Formulario de tipo DataModule en donde estan los Datasource y IBQuerys
IBQ_Select := IBQuery en donde realizo sentencias SQL

'and "Order"."Ord_Fecha" := Señalo el campo Ord_Fecha de la tabla Order
Between := Sentencia SQL que seria algo como "Entre"
:Var1 and :Var2 := Variables para asignar parametros

Elimina este codigo, que lo que hace es además filtrar por parte de la Razon Social de un Proveedor
Código Delphi [-]
Datos.IBQ_Select.SQL.Add('And "Pro_Razon" Like'+QuotedStr('%'+vBus.Text+'%'));
Order By "Ord_Numero" := Ordeno los resultados por El Nº de Orden

Código Delphi [-]
Datos.IBQ_Select.Params[0].AsDate := vDes.Date;
Datos.IBQ_Select.Params[1].AsDate := vHas.Date;
Con el codigo anterior le asigno al parametro 1 (Var1) el valor que tiene el componente DateTimePicker vDes
lo mismo para el parametro 2 (Var2)
Código Delphi [-]
Datos.IBQ_Select.Open;

Con esto se estaria ejecutando el codigo

Bueno, el codigo anterior tambien esta en Interbase

Salu2:D:cool:

negrokau 18-05-2011 01:13:26

gracias, voy a probar y te aviso si me funciona todo bien.... gracias de nuevo por tu tiempo....

negrokau 19-05-2011 15:21:16

hola... como ubico el componente datetimepicker vdes y vhas?

ecfisa 19-05-2011 18:36:57

Hola.
Cita:

hola... como ubico el componente datetimepicker vdes y vhas?
Si te referis a como inicializar los valores, de acuerdo al formato en que los tengas será como hagas la conversión al asignar al TDateTimePicker.

Unos ejemplos:
Código Delphi [-]
 
  DateTimePicker.DateTime:= StrToDate(Edit1.Text); // string
  DateTimePicker.DateTime:= Now; //DateTime
  DateTimePicker.Date:= Trunc(Date); //Date
También podés asignar el valor en la propiedad Date desde el Object Inspector.

Saludos.


La franja horaria es GMT +2. Ahora son las 11:01:46.

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