FoxPro/Visual FoxPro - Temporales com Report Form

 
Vista:

Temporales com Report Form

Publicado por willman De La cruz (9 intervenciones) el 13/08/2001 18:44:29
Hola amigos, tengo otra consulta....
Tengo un archivo de comprobantes contables, resulta que para listarlos primeramenrte creo un archivo temporal con la sentencia SELECT (SQL)
el cual me genera un temporal con la condicion deseada, con un nombre fijo, p.Ejm. TEMPXXX.dbf.
Para emitir el reporte utilizo este temporal como imput del REPOPT FORM, el problema se presenta cuando dos a o mas estaciones, requieren procesar este reporte, el archivo aparece como que ya esta siendo usado por otra estacion.
La pregunta es la siguiente. Se puede colocar un archivo temporal de nombre aleatorio, como input de un report form?. Si es asi como lo defino al generar mi reporte. o si hay otra solucion a este caso p.f.
hacermela llegar cuanto antes.
Gracias de antemano a la comunidad, y un saludo desde LIMA/PERU.
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

RE:Temporales com Report Form

Publicado por Foxperto (894 intervenciones) el 13/08/2001 22:27:05
Hola Willman:

Para crear nombres aleatorios utiliza el Sys(2015), el te devolvera una cadena de tamaño 10 , que podras utilizar para crear tu tabla temporal.

Con el Report Form, no deverias de tener ningun problema.

Prueba y me cuentas.

Saludos
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

Recomendación

Publicado por Eduardo (27 intervenciones) el 13/08/2001 23:32:23
Yo te recomiendo que en vez de utilizar las tablas temporales uses vistas locales o remotas agregadas a tu base de datos; es fácil construirlas y ya les pasas los parámetros para hacer los filtros en variables y en la opción filtro de tu consulta le agregas campo=&variable y ya en tu forma inicializas la variable a tu valor y corres o vuelves a generar tu consulta con sele consulta, requery()

Espero y te sirva
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

RE:Otra Recomendación

Publicado por CarlosAL (10 intervenciones) el 13/08/2001 23:41:35

Una forma sencila puede ser en vez de utilizar INTO TABLE en la instriccion SQL, usar INTO CURSOR, esto genera la salida a un archivo temporal cuyo nombre no se cruza con el de otro usuario, ya que es un dbf temporal, prueba y veras que te funciona.

Ten en cuenta que si despues de la consulta SQL , debes modificar la tabla agregando o eliminando registros, el cursor no lo permite, aunque hay un truco, si es asi vuelve a escribir y te cuento.

Otro consejo puede ser direccionar los archivos temporales al disco duro del PC y no dentro de la red, para esto puedes hacer lo siguiente:

wtmp = "c:\temp\temp.dbf"

Select .... ... into table (wtmp)

use (wtmp) alias temp

Suerte.
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