Variables de memoria

HOLA Experto!
¿Cuándo utiliza variables de memoria, en vez de "nombre de campo": Donde tiene que colocar el SCATTER MEMVAR? Yo lo coloco en el Init del formulario, pero no me da resultados. Oriéntame al respecto por favor.

1 Respuesta

Respuesta
1
Hay veces que conviene usar el scatter memvar y otras que no, es bueno usarlo cuando en el formulario solo trabajas con 1 sola tabla, por ejemplo un ABM de Alummos. Esta bien que hagas un scatter memvar en el init, sería algo así:
Se le alumnos
Go top
IF EMPTY(ALUMNOS.DNI) && Si no hay registros en la tabla Pacientes
SCATTER MEMVAR BLANK
THISFORM. TXTDNI. SETFOCUS
ELSE && Si existen registros en la tabla Pacientes
Scatter memvar
Endif
THISFORM. REFRESH
La clave para que funcione bien este comando es, en cada objeto, ya sea un text, un combo, un spinner, etc; tiene que escribir en la propiedad ControlSource lo siguiente: m.nombredecampo, por ejemplo:
Si tiene un TEXT donde vas a mostrar el documento de un alumno y ese documento se almacena en la tabla ALUMNOS más precisamente en el campo documento, entonces en la propiedad ControlSource del TEXT tendrías que escribir m.documento, esto mismo tienes que hacer en cada objeto del formulario donde tienes que mostrar datos.
De esta manera, poniendo el scatter memvar en el init y parándote en el primer registro, vas a mostrar en cada objeto los datos de ese primer registro, ahora si haces un botón que dice siguiente, en el click de ese botón tendrías que hacer algo así:
Se le alumnos
IF !EOF()
SKIP
IF EOF()
SKIP -1
RETURN .F.
ELSE
SCATTER MEMVAR
Endif
THISFORM. REFRESH
Endif
De esta manera vas a pasar al siguiente registro siempre y cuando no sea el fin de archivo, luego de pasar al siguiente registro, haces un scatter memvar y al ultimo un refresh del formulario y listo.
Por ultimo el scatter memvar se usa en en distintos lugares, tienes que ver donde quieres refrescar datos o mostrar otro registro, allí es donde tienes que hacer el scatter memavar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas