PDA

Ver la Versión Completa : Me desaparecen los datos....


salvanano
12-03-2008, 18:19:41
Buenas tardes gente...

Tengo un problemilla a la hora de imprimir.

Tengo una ventana en la cual visualizo datos de una tabla a través de un Query. Y un botón en el cual previsualizo los datos en un Quickreport.

Mientras mantengo la venta donde visualizo los datos, si cambio de registros, se me previsualizan correctamente. El problema llega cuando cierro esa ventana y no salgo de la aplicación, cuando vuelvo a abrir la ventana e intentar previsualizar los datos estos no me salen.

Alguna idea de porque me ocurre esto?

Este es el código del Boton para previsualizar:


//CARGO LOS DATOS EN LA TABLA AUXILIAR PARA LA IMPRESION
Query1.Last;
For i:= 1 To Query1.RecordCount do
begin
Table4.Insert;
if Query1.FieldByName('Cantidad').AsFloat = 0 then
begin
Table4.FieldByName('Cantidad').AsString:= '';
Table4.FieldByName('Usum').AsString:= '';
Table4.FieldByName('Total').AsString:= '';
Table4.FieldByName('Descripcion').AsString:= Query1.FieldByName('Descripcion').AsString;
Table4.FieldByName('Precio').AsString:= '';
end else
begin
Table4.FieldByName('Cantidad').AsString:= FormatFloat(',0.00',Query1.FieldByName('Cantidad').AsFloat);
Table4.FieldByName('Usum').AsString:= Query1.FieldByName('USUM').AsString;
Table4.FieldByName('Descripcion').AsString:= Query1.FieldByName('Descripcion').AsString;
Table4.FieldByName('Precio').AsString:= FormatFloat(',0.00',Query1.FieldByName('Precio').AsFloat);
Table4.FieldByName('Total').AsString:= FormatFloat(',0.00', Query1.FieldByName('Cantidad').AsFloat * Query1.FieldByName('Precio').AsFloat);
end;

Table4.Post;
Query1.Prior;
end;
//COMPRUEBO LAS CERTIFICACIONES PARA EL REPORTE
If Table1.FieldByName('Certificaciones').AsFloat = 0 then
begin
//MUESTRO LOS VALORES
Form10.QRLabel2.Caption:= 'IVA ' + FloatToStr(Table1.FieldByName('IvaAplica').AsFloat) + '% . . .';
Form10.QRLabel1.Caption:= Edit5.Text;
Form10.QRLabel4.Caption:= Edit6.Text;
Form10.QRLabel5.Caption:= Edit1.Text;
Form10.QRLabel6.Caption:= fecha;
Form10.QuickRep1.Preview;
end else
begin
//MUESTRO LOS VALORES
total:= Table1.FieldByName('total').AsFloat;
certificacion:= FormatFloat('#,##0.00',Table1.FieldByName('Total').AsFloat - Table1.FieldByName('Certificaciones').AsFloat);
Form11.QRLabel2.Caption:= certificacion;
Form11.QRLabel3.Caption:= 'IVA ' + FloatToStr(Table1.FieldByName('IvaAplica').AsFloat) + '% . . .';
Form11.QRLabel4.Caption:= Edit5.Text;
Form11.QRLabel5.Caption:= FormatFloat('###,###,##0.00', total*1.16 - Table1.FieldByName('Certificaciones').AsFloat);
Form11.QRLabel6.Caption:= 'RETENCION ' + FloatToStr(Table1.FieldByName('Retencion').AsFloat) + '% . . .';
Form11.QRLabel7.Caption:= Edit4.Text;
Form11.QRLabel8.Caption:= Edit6.Text;
Form11.QRlabel10.Caption:= Edit1.Text;
Form11.QRLabel11.Caption:= fecha;
Form11.QuickRep1.Preview;
end;

Caral
12-03-2008, 18:51:18
Hola
Para mi se visualiza bien la primera vez por que Certificaciones es = a 0:

If Table1.FieldByName('Certificaciones').AsFloat = 0 then
Me parece que en la segunda presentacion (si se usa el mismo codigo y no se coloca el valor de Certificaciones en (0) el filtro con If hara que no se visualice ya que Certificaciones no sera igual a 0.
Bueno, es lo que se me ocurre de momento.
Saludos

salvanano
12-03-2008, 19:00:12
Ese codigo chequea los datos para abrir una ventana u otra.

Y esa no es la cuestión porque cuando abro por primera vez la ventana, aunque cambie de registro visualizo perfectamente los datos. El problema viene cuando sigo trabajando con la aplicación y vuelvo a abrir la ventana, previsualizo los datos y ahí es cuando falla. No muestra nada, solo los QRLabels.

No se si el problema es de la ventana donde veo los datos o bien de los reportes....


Saludos y gracias por tu respuesta

salvanano
12-03-2008, 19:19:31
Creo que he descubierto cual es el problema.

La cuestión es que mi aplicación utiliza forms fsMDChild, y para cerrarlas utilizo el siguiente código:


Action:= caFree;
Form6:= nil;
Form1.MainMenu1.Items[3].Items[0].Enabled:= True;


Si comento la primera línea me funciona, pero si hago eso siempre se me queda una pequeña barra de título en el margen inferior de la ventana principal.

Como puedo cerrar dichas ventanas sin que me afecte a esto?

saludos... y graicas de antemano