Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TQuickRep (https://www.clubdelphi.com/foros/showthread.php?t=75148)

lisc_dla 07-08-2011 02:36:51

lo comprimí y descomprimí con winrar y si aparecen los reportes

Caral 07-08-2011 02:50:41

Hola
Ya.
No estoy muy seguro, esto de ver los forms solo en el notepad no ayuda mucho.
Veo algo que no se si es correcto o no.
En el quickreport1.
En el componente adoquery.
En parameters hay un signo <>
La verdad no se si tocaste algo, es asi o no, pero revisa que este procedure este vacio.
Saludos.
PD: si te das a la tarea de cambiar tu programa a ACCESS lo podre ver y te ayudo en mas cosas.
Otra cosa, esto de las pantallas se ven muy bien, pero yo no tengo estos componentes y no ayudan a ayudar.

lisc_dla 07-08-2011 03:06:44

Cita:

Empezado por Caral (Mensaje 408751)
Hola
Ya.
No estoy muy seguro, esto de ver los forms solo en el notepad no ayuda mucho.
Veo algo que no se si es correcto o no.
En el quickreport1.
En el componente adoquery.
En parameters hay un signo <>
.

en parameters del adoquery no hay ningún <> y en lo que respecta a access mis compañeros de grupo tomaron la decisión de trabajar con mysql. En cuanto a los formularios descargue el archivo y lo descomprimí con winrar y si aparecen los formularios

Caral 07-08-2011 03:12:47

Hola
Si he visto los reportes (p_factura y P_corte), lo que pasa es que como dije, con notepad es algo mas complicado y mas para mi.
No veo ni errores de sintaxis ni nada.
La verdad no entiendo cual es el problema, no entiendo por que te da el error, estoy seguro que se me pasa algo, pero no lo veo, disculpa.:o
Saludos

lisc_dla 07-08-2011 03:21:13

igual no entiendo el error, ya que el código funciona con el ejemplo que me mandaste (podría ser en los tipos de datos)

Caral 07-08-2011 03:23:14

Hola
El error podria ser por cualquier cosa.
No lo se.
Estoy seguro que algun maestro del foro ayudara en esto, a mi se me escapa de las manos.
Por algo soy el Novato del foro......
Saludos

lisc_dla 07-08-2011 03:24:45

Entonces yo que soy un supermeganovato :D:D

Caral 07-08-2011 03:29:20

Hola
Vamos a hacer una prueba.
En el QuickReport1.
en la propiedad dataset coloca el adotable del form clientes, me imagino que en el uses del reporte lo tienes ligado, si no colocalo.
ahora pon este codigo en el boton de imprimir:
Código Delphi [-]
procedure Tfrm_Cliente.btn_imprimirClick(Sender: TObject);
begin
  Try
  QuickReport1:=TQuickReport1.Create(self);
  QuickReport1.Preview;
  finally
  QuickReport1.Free;
   end;
end;
Como ves, simplemente usaremos el mismo adotable del form cliente para el reporte.
A ver que pasa.
Saludos

lisc_dla 07-08-2011 03:41:06

lo hice tal y como me dijistes, aparte también los QRDBText los ligue a los adotable pero solo me imprimí el primer y ultimo registro que aparece en el dbgrid no imprime todos los registros buscados

Caral 07-08-2011 03:44:33

Hola
Bueno, ya no da error, eso quiere decir que el problema esta en el adoquery, ya sabemos algo mas.
mañana podre tratar de ayudar mas, hoy ya es tarde y estoy cansado.
Saludos

lisc_dla 07-08-2011 03:46:17

La verdad gracias por ayudarme, entonces mañana te seguiré atormentando :D:D:D:D:D:D

Caral 07-08-2011 18:51:13

Hola
Hagamos otra prueba:
Cuando haces el filtro en el adotable el dato es sacado del txt_rfc.Text.

Código Delphi [-]
Filtro : String;
 begin
 AdoTable1.Filtered := False;
 AdoTable1.Filtered := False;
 Filtro := 'rfc = '+txt_rfc.Text; // aqui hace el filtro.
 AdoTable1.Filter := Filtro;
 AdoTable1.Filtered := True;
 AdoTable1.Open;

Bien:
El mismo caso es para el adoquery, solo que ahora vas a colocar el dato directamente en el codigo.
Supongamos que escribiste en el txt_rfc.text (maria, jose o lo que sea).
Eso es lo que vas a colocar en el codigo asi:

Código Delphi [-]
Try
 QuickReport1:=TQuickReport1.Create(self);
 QuickReport1.ADOQuery1.SQL.Text:= 'Select * from cliente where frc = :d1';
 QuickReport1.ADOQuery1.Parameters[0].Value:= 'maria'; // aqui colocas el dato que tendria que estar en el txt_rfc.text
 QuickReport1.ADOQuery1.Open;
 QuickReport1.Preview;
 finally
 QuickReport1.Free;
Por supuesto que ese dato tiene que coincidir con el dato que este en la tabla, de lo contrario no mostrara nada ni dara error.
Veamos que pasa asi.
Saludos

lisc_dla 07-08-2011 22:04:52

de hecho conectando los QRDBText a el adotable ya no manda error, la cuestión es que no imprime todos los datos solo el primero y el segundo

Caral 07-08-2011 22:20:05

Hola
Si, pero que de la ultima prueba que puse arriba de este ?.
Saludos

lisc_dla 07-08-2011 22:24:16

probé con el código:

Try
QuickReport1:=TQuickReport1.Create(self);
QuickReport1.ADOQuery1.SQL.Text:= 'Select * from cliente where frc = :d1';
QuickReport1.ADOQuery1.Parameters[0].Value:= 'maria'; // aqui colocas el dato que tendria que estar en el txt_rfc.text
QuickReport1.ADOQuery1.Open;
QuickReport1.Preview;
finally
QuickReport1.Free;

y marca el mismo error, en la misma linea

Caral 07-08-2011 22:28:01

Hola
Por supuesto no maria, verdad.:D
A ver este:
Código Delphi [-]
Try
 QuickReport1:=TQuickReport1.Create(self);
 QuickReport1.ADOQuery1.SQL.Text:= 'Select * from cliente where frc = ''maria''';
  QuickReport1.ADOQuery1.Open;
 QuickReport1.Preview;
 finally
 QuickReport1.Free;
Saludos

lisc_dla 07-08-2011 22:55:08

claro que no es maria :D:D

probé con el código:


QuickReport2.ADOQuery1.SQL.Text:= 'Select * from cliente where rfc = ''rfc''';

pero no imprime todos los resultado, solo el primero y el segundo

Caral 07-08-2011 22:58:10

Hola
Bueno, me doy.
Me imagino que si imprime solo unos datos el reporte no esta bien.
No entiendo, aveces te da error otras no.
rfc es el nombre de un campo de la tabla, es algun dato dentro de ese campo ?, ne mo suena.
Saludos

lisc_dla 07-08-2011 23:13:21

a el campo rfc(varchar) le agregue datos como loco:

hdfg
rfc
etc.

cuando utilizaba este codigo me marcaba error

Try
QuickReport1:=TQuickReport1.Create(self);
QuickReport1.ADOQuery1.SQL.Text:= 'Select * from cliente where frc = :s';
QuickReport1.ADOQuery1.Parameters[0].Value:= txt_rfc.text;
QuickReport1.ADOQuery1.Open;
QuickReport1.Preview;
finally
QuickReport1.Free;

pero con este no los imprime todos

Try
QuickReport1:=TQuickReport1.Create(self);
QuickReport1.Preview;
finally
QuickReport1.Free;
end;

de todos modos muchas gracias por la ayuda que me has brindado :D:D:D

Caral 07-08-2011 23:19:26

Hola
Te voy a dar mi opinion de lo que pienso haceis mal en vuestro grupo.
1- Usar Mysql
2- Hacer la conexion en el codigo
3- Usar skin.
Por que ?.
Por que cuando se esta empezando otros podrian ayudar viendo el programa, correrlo, hacer cambios etc.
Si se usa mysql ya se restringe esto.
Si se usa la conexion en el codigo no se puede ni abrir los forms.
Si se usan los skin y no se tienen estos componentes no corre el programa.
Para mi, se tiene que empezar con algo basico, luego ya se podran hacer los cambios que se quieran.
Suerte con vuestro proyecto, siento no poder ayudaros.
Saludos


La franja horaria es GMT +2. Ahora son las 00:32:56.

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