Grid con check dentro de formulario VFP

Hola, haber si alguien me puede dar una manito... Tengo un formulario, donde tengo un grid al cual jala desde una base de datos distinta una lista de opciones (filas) a las cuales les he puesto un check. Lo que no se es como hacer o cual es el código de programacacion para que cada fila marcada o no con el check, se grabe en una base de datos distinta. En el ejemplo podrán observar a lo que me refiero.
http://img.webme.com/pic/s/setimacuadrillamartin/dibujo.jpg
Uno de los expertos me ofreció su ayuda pero al parecer have varios días no ingresa o responde mi respuesta.
Si tienen un ejemplo parecido, les agradeceré me lo envíen a [email protected] o [email protected]
Gracias de antemano, por su ayuda.

1 Respuesta

Respuesta
1
Lo primero que debes saber es que la columna en donde se encuentra el control check está enlazada a un campo de la tabla el cual es de tipo lógico o numérico, si el campo es de tipo lógico tendrá el valor .F. (falso) si el control check no está marcado o .T. (verdadero) si está marcado. Si el campo es de valor numérico tendrá como valor cero (0) si el control check no está marcado o uno (1) si el control está marcado.
La solución es sencilla.
1. Establece los valores de las propiedades del formulario BufferMode y Datasession a 2.
2. En el evento Init del formulario agregue las siguientes líneas de código:
Set Multilocks On
=CursorSetProp("Buffering", 5, "NombreTabla1")
=CursorSetProp("Buffering", 5, "NombreTabla2")
Nota: NombreTabla1 y NombreTabla2 son los nombres de las tablas a las cuales está enlazados los controles grid si las columnas de los grids están enlazadas a campos de diferentes tablas en el evento init del formulario debe establecer CursorSetProp("Buffering", 5, "NombreTabla") para cada una de esas tablas.
Si el formulario tiene un botón de guardar cambios escriba en el evento click de ese botón o evento destroy del formulario si no tiene el botón guardar la siguientes líneas de código:
If GetNextModified(0, "NombreTabla1") <> 0
  =TableUpdate(.T., .T., "NombreTabla1")
Endif   
If GetNextModified(0, "NombreTabla2") <> 0
 =TableUpdate(.T., .T., "NombreTabla2")
Endif
Si hay varias tablas, deberías crear un ciclo For o While para actualizarlas todas las tablas y así evitar escribir muchas líneas de código.
Gracias. Gracias pude resolverlo de otra manera, te agradezco el apoyo y de todas maneras voy a utilizarlo en otra forma para otra aplicación haber cual de las 2 es más estable. Gracias y disculpa por la demora.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas