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 de miraestemar
1
1
miraestemar, Desarrollo de Sistemas en Visual Fox Pro
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.