Problema con Grind

Tengo un Formulario que contiene un grind... Ademas contiene un botón de impresión que funciona según las opciones de un optiongroup... El problema es que cuando doy clic en el botón de imprimir el grind se bloquea y se queda en blanco... No se que pueda ser... Esta es la programación del botón de Imprimir.
USE excusa ORDER rnp
   DO CASE
      CASE this.parent.optiongroup1.option1.Value=1
          REPORT FORM excusa2 TO PRINTER PREVIEW
      CASE this.parent.optiongroup1.option2.Value=1
          REPORT FORM excusa2 TO PRINTER
      CASE this.parent.optiongroup1.option3.Value=1
          REPORT FORM excusa2 TO PRINTER PROMP
    ENDCASE
   thisform.grid1.refresh
  clear
  close databases

1 Respuesta

Respuesta
1
Si mal no estoy (me corriges por favor) el grid lo tienes enlazado directamente a una tabla.
Esto no es muy recomendable pero bueno si trabajas así no problem, trata de que cuando hagas el use excusa hazlo de la siguiente forma:
¿USE excusa in 0 order rnp
por que así? Lo que pasa es que sino le pones el "in 0" fox cierra la tabla anteriormente abierta para abrir "encima" la nueva. Cuando pones el "in 0" garantizas que las tablas o la tabla anteriormente cargada permanezca en la memoria.
Es la conclusión de por que el grid se te pone blanco
Ojala te sirva...
Gracias por responder experto... Agradezco el interés en ayudarme...
Prove como dices y sigue sin funcionar así que programe de la siguiente manera.
USE excusa IN 0 order rnp
   DO CASE
      CASE this.parent.optiongroup1.option1.Value=1
          REPORT FORM excusa2 TO PRINTER PREVIEW
      CASE this.parent.optiongroup1.option2.Value=1
          REPORT FORM excusa2 TO PRINTER
      CASE this.parent.optiongroup1.option3.Value=1
          REPORT FORM excusa2 TO PRINTER PROMP
    ENDCASE
   thisform.grid1.refresh
  clear
USE excusa IN 0 order rnp
Con esa programación no me pone en blanco la tabla pero el problema es que en la primera y en la ultima linea de comando (Que dicen lo mismo) me manda un error que dice "File in use"... Que Hago...
Antes de hacerle el use
Coloca esto
if !used("excusa")
Use excusa in 0 order rnp
Endif
Esto hace que solo se use la tabla cuando no esta usada y cuanbdo ya usada pues no hace nada

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas