FoxPro/Visual FoxPro - crear una tabla a partir de un cursor

 
Vista:

crear una tabla a partir de un cursor

Publicado por bekyna (294 intervenciones) el 13/05/2005 20:54:43
Hola tengo una preguntota..
Les planteo rápidamente la situación:
Hago una consulta y la guardo en un cursor para mostrarla posteriormente en un Grid, ahora necesito esos datos para hacer un reporte y quiero saber si puedo generar una tabla de esos datos (del cursor) para poder hacer mi reporte.

Gracias saludos.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:crear una tabla a partir de un cursor

Publicado por Manuel (344 intervenciones) el 13/05/2005 22:02:25
1. Puedes tener una tabla auxiliar para que sólo trabaje con el reporte. Para ello, tendrías que vaciarla cada vez y llenarla con los nuevos datos del cursor, a través de APPEND FROM. La tabla tendría la misma estructura del cursor.
SELECT tuCursor
db=DBF()
SELECT tuTabla
APPEND FROM (db)
REPORT FORM tuReporte PREVIEW
2. O puedes hacer un COPY TO desde el cursor si deseas que la tabla se cree a partir de los datos del cursor y esté reemplazándose cada vez.
SELECT tuCursor
SET SAFETY OFF
COPY TO tuTabla
SET SAFETY ON
REPORT FORM tuReporte PREVIEW
3. o, simplemente haces el reporte sin entorno de datos, pero con cajas de texto conteniendo los nombres de campo del cursor, así sólo haces un SELECT al cursor antes de llamar el reporte, y él actuará como entorno de datos.
SELECT tuCursor
REPORT FORM tuReporte PREVIEW
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

gracias

Publicado por bekyna (294 intervenciones) el 13/05/2005 22:43:15
muchas gracias por todas tus sugerencias que pienso llavar a cabo, por el momento ya hice pruebas con la copy to, pero por alguna razon me dice que mi archivo esta en uso hago lo siguiente:
set default to C:\Datos_Estacion\Estaciones\ARA
SET SAFETY OFF
Select tmpGrid
Copy to reporte_ara
SET SAFETY ON

esto lo hago en varios porcedimientos porque creo diferentes tablas y cuando hice el tercer copy to el error fue que ya esta en uso.

pero tengo dos opciones mas que voy a probar, pero lo del copy to me parece raro..

saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:gracias

Publicado por Manuel (344 intervenciones) el 13/05/2005 23:33:17
Es posible que en algún momento hayas puesto en uso la tabla o probaste el reporte. De esa forma. Podrías ejecutar un USE IN reporte_ara, se supone que es tabla y que el reporte la puso en uso.
O puedes probar haciendo un:
IF USED("reporte_ara.dbf")
USE IN reporte_ara
Endi
COPY TO reporte_ara

Recuerda que mencioné que la tabla estaría reemplazándose cada vez, de manera que es necesario asegurarnos que no está en uso antes de sustituirla.
Además un "copy to" hace que la tabla exista, y por lo tanto ocupa espacio. En ocasiones, es bueno evaluar si nos conviene conservar los resultados, pues es mejor trabajar directamente con el cursor en el reporte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar