FoxPro/Visual FoxPro - macro sustituciones

   
Vista:
Imágen de perfil de Elias

macro sustituciones

Publicado por Elias emadfmff@gmail.com (55 intervenciones) el 14/12/2013 09:50:20
Hola a todos,

Estoy desarrollando un sistema en una plataforma "multiusuarios" y necesito manejar archivo temporales para cada uno de los usuarios que estan identificados por numeros (01,02,03,04,....etc.)

Para ello estoy creando tablas temporales como en el siguiente ejemplo:

store 'temporal'+padl(nrousuario,2,'0') to archivo
create cursor (archivo)(cedula N(10), nombre C(30), importe N(10))
*
Hasta aca sin inconvenientes, pero cundo intento buscar para actualizar o modificar datos en estos archivos temporales no me reconoce.

Las sentencias que utilice para referenciar al archivo temporal fueron:

Select (archivo)

Select &archivo,

pero en ambos casos me da un error de que no encuenra el archivo.

PODRIAN INDICARME QUE ESTOY HACIENDO MAL Y COMO PODRIA SOLUCIONAR EL PROBLEMA,?
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

macro sustituciones

Publicado por Fidel José (558 intervenciones) el 14/12/2013 15:47:24
Estás creando cursores que son solamente visibles por el equipo que los genera. Los demás ni se enteran porque el cursor es un elemento de memoria. El comando es correcto.
Si quieres que se puedan acceder desde cualquier equipo, o quieres registrar algo consultable, debes crear tablas en el servidor en lugar de cursores.
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
Imágen de perfil de Elias

macro sustituciones

Publicado por Elias emadfmff@gmail.com (55 intervenciones) el 14/12/2013 19:22:03
Hola Fidel José,

Antes que nada gracias por responder, pero mi problema es que al hacer el select me da un error.
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

macro sustituciones

Publicado por Fidel José (558 intervenciones) el 15/12/2013 16:26:39
Si utilizas Select (archivo), necesitas dos cosas:
1) que "Archivo" sea una variable de memoria que tenga como contenido el nombre del cursor
2) que el cursor esté abierto

si la variable Archivo existe en el procedimiento en que te encuentras y el cursor está abierto, no tiene que dar error.
Si el cursor está cerrado te dirá: Alias "blablabla" is not found"
Si la variable no existe, te dirá: Variable "Archivo" is not Found"

Ahora bien, es muy probable que definas la variable en un procedure o método y pretendas usar eso en otro.
Para lo que planteas (que no entiendo muy bien), me parece mejor lo siguiente:
* Al crear el cursor
AddProperty(_Screen,"CursorUser",'temporal'+padl(nrousuario,2,'0') )
create cursor (_Screen.CursorUser) (cedula N(10), nombre C(30), importe N(10))

* En cualquier lugar del sistema
SELECT (_screen.CursorUser)
BROWSE
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
Imágen de perfil de Elias

macro sustituciones

Publicado por Elias emadfmff@gmail.com (55 intervenciones) el 16/12/2013 09:29:31
Gracias Fidel,

La verdad me ayudaste y me enseñaste algo que no sabia.

Nunca habia utilizado AddProperty(_Screen,"CursorUser",'temporal'+padl(nrousuario,2,'0') )

Gracias
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