PablorD
19-04-2010, 23:53:50
hola. llevo ya un monton intentando usar quickreport con una base de datos en .dbf pero no me pesca los datos. tengo un dbgrid en otro formulario y si los pesca.
voy por pasos de lo que e echo
1 creo 2 formularios form1 y form2
2 en el form 1 coloco un par de edits,un boton, un adoquery y un adoconnection (un data surce y un dbgrid (para ver
si la query esta bien solamente).
3en adoconnection1 coloco el string de coneccion que me funciona para todo(editar, modificar, select update delete, etc.) Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\aprendo;Mode=ReadWrite|Share
Deny None;Extended Properties=dBase IV;Persist Security Info=False;Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=17;
Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:
Compact Without Replica Repair=False;Jet OLEDB:SFP=False (todo esto gracias a caro jeje)
y en adoquery1 un simple select * from aprendo1.dbf (para probar la coneccion)
4enlazo el datasource al dbgrid y el adoquery al datasouce.
5en la parte de uses del form1 coloco unit2 (del form2) para poder pasar parametros.
6ahora en el form2 coloco un quickrep y lo enlazo a form1.adoquery1 y dentro de el un qrband en modo detail y un qrband en modo title dentro de el detail coloco 2 qrdbtext enlazados a form1.adoquery1 en dataset y en datafield me carga loc campos del adoquery. asi que elijo ID y nombre para qredit1 y 2 respectivamente.
7ahora voy a form1 y en el boton coloco.begin
begin
with adoquery1 do
begin
close;
sql.text:='select * from aprendo1.dbf '; // hago esto porseacaso
open;
end;
form12.QuickRep1.Preview;
end;
entonces compilo y me llena el dbgrid (osea que error de coneccion o query no es) pero el report no muestra nada (solo los qrlabel que pongo aveces).
pd:la base de datos tiene 2 campos ID y Nombre y esta poblada con alrededor de 20 registros.
no se que hacer. ayuda porvafor!
de antemano gracias
voy por pasos de lo que e echo
1 creo 2 formularios form1 y form2
2 en el form 1 coloco un par de edits,un boton, un adoquery y un adoconnection (un data surce y un dbgrid (para ver
si la query esta bien solamente).
3en adoconnection1 coloco el string de coneccion que me funciona para todo(editar, modificar, select update delete, etc.) Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\aprendo;Mode=ReadWrite|Share
Deny None;Extended Properties=dBase IV;Persist Security Info=False;Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=17;
Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:
Compact Without Replica Repair=False;Jet OLEDB:SFP=False (todo esto gracias a caro jeje)
y en adoquery1 un simple select * from aprendo1.dbf (para probar la coneccion)
4enlazo el datasource al dbgrid y el adoquery al datasouce.
5en la parte de uses del form1 coloco unit2 (del form2) para poder pasar parametros.
6ahora en el form2 coloco un quickrep y lo enlazo a form1.adoquery1 y dentro de el un qrband en modo detail y un qrband en modo title dentro de el detail coloco 2 qrdbtext enlazados a form1.adoquery1 en dataset y en datafield me carga loc campos del adoquery. asi que elijo ID y nombre para qredit1 y 2 respectivamente.
7ahora voy a form1 y en el boton coloco.begin
begin
with adoquery1 do
begin
close;
sql.text:='select * from aprendo1.dbf '; // hago esto porseacaso
open;
end;
form12.QuickRep1.Preview;
end;
entonces compilo y me llena el dbgrid (osea que error de coneccion o query no es) pero el report no muestra nada (solo los qrlabel que pongo aveces).
pd:la base de datos tiene 2 campos ID y Nombre y esta poblada con alrededor de 20 registros.
no se que hacer. ayuda porvafor!
de antemano gracias