PDA

Ver la Versión Completa : quick report y dbf


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

Caro
20-04-2010, 00:57:40
Hola PablorD, ademas de enlazar tus qrDBText a tu AdoQuery y su campo, también debe estar enlazado tu QuickReport en su propiedad DataSet al mismo AdoQuery, si lo tienes así debería funcionarte. Por si acaso, no estas enlazando con otro AdoQuery en tu reporte.

Saluditos

PablorD
22-04-2010, 16:36:09
muchas gracias por tu respuesta caro.

mi adoquery está enlazado al quickrep, voy a probar si es por el hecho de que se encuentra en otro form. aun no salgo del problema.
gracias como siempre por tu ayuda.

PablorD
22-04-2010, 16:42:07
ahora me tira un error 'la operación no está permitida en este contexto'