Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Consulta para un reporte (https://www.clubdelphi.com/foros/showthread.php?t=38856)

jeysi 02-01-2007 03:27:36

Consulta para un reporte
 
hola a todos!!!

Estoy un pequeño problema y ojala me pudieran dar algún consejo para solucionarlo, describiré cual es mi situación.....
Tengo una base de datos en Access, la cual contiene las siguientes tablas

prestamos: con los campos folioPrestamo, claveAlumno, folioEquipo, claveMaestro y fecha

la otra tabla se llama equipo: con los campos id_equipo, nombre y marca

Tengo que hacer un reporte que me muestre el nombre del equipo, y la fecha en que se realizó el préstamo, esto es de acuerdo a las fechas que introduce el usurio (fecha de inicio y fecha final).

En si mi problema es que no se como hacer la consulta para que me pueda mostrar esos datos ya que necesito relacionar las dos tablas

Intente hacer lo siguiente, pero no me funcionó


Código Delphi [-]
procedure TrepPres.consultas();
begin
moduloDatos.ADOQuery1.Close;
moduloDatos.ADOQuery1.Parameters.AddParameter.Name:='f1';
moduloDatos.ADOQuery1.Parameters.AddParameter.Name:='f2';
moduloDatos.ADOQuery1.Parameters.ParamByName('f1').Value:=fi;
moduloDatos.ADOQuery1.Parameters.ParamByName('f2').Value :=ff;
moduloDatos.ADOQuery1.SQL.Text:='Select equipo.nombre from (select * from prestamos where (fecha >=:f1)AND (fecha<=:f2)) equipo where equipo.id=Id_equipo order by nombre';
moduloDatos.ADOQuery1.Active:=true;
moduloDatos.ADOQuery1.ExecSQL;
moduloDatos.ADOQuery1.Open;
reporPrestamos.QRDBText1.DataSet:=moduloDatos.ADOQuery1;
reporPrestamos.QRDBText2.DataSet:=moduloDatos.ADOQuery1;
reporPrestamos.QRDBText3.DataSet:=moduloDatos.ADOQuery1;
reporPrestamos.QRDBText1.DataField:='folioe';
reporPrestamos.QRDBText2.DataField:='fecha';
reporPrestamos.QRDBText3.DataField:='hdevolucion';
reporPrestamos.Preview;
end;





Les agradeceré mucho su ayuda... Gracias:)

Lepe 02-01-2007 14:12:34

Está un poco liado el código, seguro que por las pruebas que has hecho, inténtalo así:

Código Delphi [-]
procedure TrepPres.consultas();
begin
moduloDatos.ADOQuery1.Close;
moduloDatos.ADOQuery1.SQL.Text:='Select equipo.nombre, pestamos.fecha from prestamos inner join equipo on equipo.idequipo = prestamos.folioequipo where (prestamos.fecha between f1 AND :f2) order by nombre';
moduloDatos.ADOQuery1.Parameters.ParamByName('f1').Value:=fi;
moduloDatos.ADOQuery1.Parameters.ParamByName('f2').Value :=ff;

moduloDatos.ADOQuery1.Open;
reporPrestamos.QRDBText1.DataSet:=moduloDatos.ADOQuery1;
reporPrestamos.QRDBText2.DataSet:=moduloDatos.ADOQuery1;
reporPrestamos.QRDBText3.DataSet:=moduloDatos.ADOQuery1;
reporPrestamos.QRDBText1.DataField:='folioe';
reporPrestamos.QRDBText2.DataField:='fecha';
reporPrestamos.QRDBText3.DataField:='hdevolucion';
reporPrestamos.Preview;
end;

No sé bien la relación entre equipo y prestamos, lo he hecho por los campos folioequipo e idequipo, modifícalo si no es así.

Saludos

jeysi 02-01-2007 21:53:38

hola
Gracias Lepe. Le hice algunas modificaciones a tu respuesta y ya quedó lista la consulta.

Saludos


La franja horaria es GMT +2. Ahora son las 01:43:25.

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