PDA

Ver la Versión Completa : Consulta en Quick Report


enecumene
22-08-2007, 04:31:47
Saludos, como hago esta consulta en quickreport?

select no_ped, status, dpto, fecha_ent_exp, responsable1 from reg_pedidos where responsable1= 'Responsable' and status <> 'Tramite Aprobado' and status <> 'Comprado' and status <> 'Cumplido' and status <> 'Anulado' and status <> 'Devuelto' and status <> 'Firmado' and status <> 'Comprado' order by fecha_ent_exp

Responsable seria un DBLookUPComBOx de un form.

Gracias...

Caral
22-08-2007, 04:56:37
Hola
Mañana te ayudo, hoy estoy cansado, ya es tarde.
Piensa que es facil, solo tienes que concatenar.
Saludos

enecumene
22-08-2007, 05:04:44
Gracias Caral, he hecho de todas las maneras y la consulta no me sale...Saludos.

eduarcol
22-08-2007, 14:27:04
ya has intentado hacerlo te ha dado algun error???

ContraVeneno
22-08-2007, 16:18:45
Para empezar, la consulta no la vas a poder hacer en quickreport, porque este no es un manejador de bases de datos.

Primero tienes que hacer la consulta y los resultados los presentas en quickreports.

En lugar de tener tanto "and", podrías utilizar un "not in ()" o un "in()"

Ejemplo:

Select Nombre
From Tabla
Where Nombre not in ('Pedro', 'Juan')


Esto me regresa todos los nombres, menos Pedro o Juan.

Y si es posible, te recomendaría manejar un estatus numérico, es mucho más rápido y fácil compara números que cadenas de texto.

enecumene
22-08-2007, 23:13:19
Gracias contraVeneno por ese tip, lo que pasa es que la consulta la tengo en ADOQuery verdad? Responsable.text viene siendo un Combobox, entonces cuando corro la aplicacion selecciono algo en el combobox le doy al boton donde tiene este codigo:

QuickReport.Preview;

pero no me presenta absolutamente nada...

algo debo estar haciendo mal no?.

Saludos.

eduarcol
22-08-2007, 23:19:14
cuentanos en el quick report que componentes utilizas para el enlace de los datos, como estas manejando ese tema

enecumene
22-08-2007, 23:27:43
Tengo en un form un TQuickRep, un ADOQuery y un Datasource, donde el string del ADOQuery tiene la consulta mencionada mas arriba, en el TQuickRep ya esta diseñado el reporte con sus respectivas bandas, title, Page Header y detail band y los TQRDBText correspondientes. en otro form esta el Combobox donde esta listado la lista de empleados y un button con el siguiente codigo:

Form2.TQuickRep.Preview;

bueno selecciono un empleado y luego el boton. pero nada de nada..

Saludos.

ContraVeneno
22-08-2007, 23:30:30
¿y a que hora activas el ADOQuery?

enecumene
22-08-2007, 23:32:15
esta True todo el tiempo si a eso se refieres.

ContraVeneno
22-08-2007, 23:47:22
Pues ese será el problema, porque al seleccionar un elemento del combobox, la consulta ya no es la misma y hay que actualizarla. La puedes actualizar haciendo su propiedad "Active" a Falso y luego a verdadero o lo más recomdable, utilizar los comandos "Close" y "Open".

Yo te recomendaría:


With AdoQuery do begin
if active then close;
SQL.Add('Select....');
SQL.Add('Where Responsable = :vResponsable');
SQL.Add('And Status not in (........ ');
Parameters.ParamByname('vResponsable').AsString := Responsable.Text;
Open;
Form2.TQuickRep.Preview;
end; //with

enecumene
23-08-2007, 00:04:13
Gracias ContraVeneno, sabes? ahora me ocurre otro tipo de problema al darle click al boton me este error:

---------------------------
Debugger Exception Notification
---------------------------
Project Sigesped.exe raised exception class EAccessViolation with message 'Access violation at address 005E1A1C in module 'Sigesped.exe'. Read of address 000002F8'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

:confused::confused::confused:

Caral
23-08-2007, 00:09:45
Hola
Coloca los dos archivos zip en una carpeta para que lo veas.
En uno esta la base de datos, en otro un form y un qreport.
Es un ejemplo sencillo, revisalo y me dices.
Saludos

ContraVeneno
23-08-2007, 00:11:59
Estas tratando de acceder a algo que no existe. Tal vez el form2 no esta creado todavía, tal vez el quickreport no esta creado... dependiendo de la línea que te marque el error, será el elemento inexistente que quiere accesar.

enecumene
23-08-2007, 00:52:15
Muchas Gracias Caral y ContraVeneno y Eduarcol, ahora si me funciona, de nuevo muchas gracias...ahora me sucede lo siguiente solo me aparece un solo registro osea el primero y desaparece los titulos...

enecumene
23-08-2007, 02:15:50
Problema Resuelto!!!. Gracias de Nuevo..