Validar un checkbox en grid

Tengo un checkbox insertado en un grid y cuando quiero guardar el check me dice que error -value: no coinciden los tipos de datos. En la ayuda de fox me dice que para validar un check que esta insertado en un grid solo se hace si tiene el foco, no entiendo. Me puedes colaborar.

Respuesta
1

Espero poder ayudarte! :) Aclarame! ¿Intentas guardar el valor del check en un campo?

es correcto. mira tengo que asignar un vehículo a una ruta y cuando lo asigno pincho en el textbox yo se que solo aparecen en la tabla 1 y 0 donde 1 es asignado y 0 sin asignar,

el inconveniente es que primero cargo la ruta y luego miro que vehículo tengo disponible y lo asigno o sea que no los puedo guardar juntos con el mismo append, ha se me olvidaba la tabla se llama RECOGIDAS_DIA y estoy trabajando en un cursor llamado RECOGIDAS_DIA1

Ok. Entonces, podes procede así:El campo donde guardas el valor 0 y 1 debe ser tipo numeric. Cuando guardes, almacena el valor del check en una variable, según el estado del check.

LOCAL lnValCheck

IF THISFORM.Check1.Value = 0 &&El check no esta marcado

lnValCheck = 0

ELSE

lnValCheck = 1

ENDIF

**--//

SELECT tabla

REPLACE campo WITH lnValCheck

TABLEUPDATE(.T.)

Prueba y me avisas! :)

muchas gracias por tu colaboración y tu tiempo mira el problema es que cuando voy a pinchar el check en el grid me dice que el value: no coinciden los tipos de datos

¿Y qué código tienes en el click() del check? Si te arroja ese mensaje cuando lo pinchas... ¿oo?

mira mi tabla tiene un campo "asignada" numérico, que es el que almacena el check, pero no se que código poner en el evento click. es mas en el mismo grid tengo un combox con la placa del vehículo que voy a asignar y lo voy a guardar, y tampoco me dice lo mismo Value no coinciden los tipos de datos. una ayudita por favor gracias

Comprendo! :) Mira... cuando des click en el check no es necesario incluir ningún código. Lo único que cambia con el click en el check es su valor de 0 a 1 si esta inactivo o activo. Lo que yo te sugiero, es que pongas un botón "Guardar" en tu form. Y cuando ya hayas seleccionado la opción del check (y todos los demás cambios en tu form que desees guardar) guardes los cambios. Proba esto: pasa el campo de asignada de numérico a carácter y en el evento click del botón, coloca un código como este:

LOCAL lnValCheck

IF THISFORM.Check1.Value = 0 &&El check no esta marcado
lnValCheck = "0"
ELSE &&El check si esta marcado
lnValCheck = "1"
ENDIF
**--//

SELECT tabla

REPLACE asignada WITH lnValCheck

TABLEUPDATE(.T.)

Proba y me avisas! :)

A tus ordenes, ravenn! :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas