Utilizar display only

Quisiera que me ayudaras, estoy trabajando con pb9, estoy haciendo una ventana de ingresos, tengo un cb para ingresar un nuevo registro, pero mis campos del datawindow lo he activado display only; quisiera que al momento de presionar nuevo registro se activara un campo específico para poder ingresar datos.
Respuesta
2
Esto es muy simple de manejarlo por medio del datawindow, lo que deberás hacer es definir una columna que permite ser modificada y que tenga un valor pequeño, digamos una tipo entero, a la cual puedas asignarle un valor 1 o bien 0, donde 0 es inactivo y 1 activo, una vez añadida esta columna, entonces a cada campo que necesites modificar deberás colocar una condición en la parte de protected, por ejemplo
if( (edit = 0), 1, 0)
Entendiendo que edit será el campo de que hablo en las lineas anteriores,
Igualmente si quieres cambiar el color deberás agregar una situación parecida en las propiedades de color de fondo y texto,
ejm.
if((edit = 0), RGB(192,192,192), RGB(255,255,255))
El ejemplo anterior controlara el color del fondo.
Si edit esta apagado el fondo sera gris de lo contrario sera blanco.
Una vez hecho esto en tu datawindow, en el botón que dispongas que inserta el nuevo registro,
inmediatamente después de insertar la linea.
Deberás asignar el valor 1 a la columna edit de tal forma que esto actúe inmediatamente en cada columna, el efecto es que cuando insertes solo se activaran los campos que tengan el valor 0 en la propiedad protected, dando el efecto que necesitas.
Atención:::::
Si estas trabajando con un datawindow hecho del tipo external, la generación de la nueva columna no representa problema,
Sin embargo si se trata de una ventana que se relaciona con una tabla o un script del tipo sql, lo que tendrás que hacer es muy simple,
Primero convertir al tipo text el script sql, y después crear una nueva columna por ejemplo
0 as edit
Esto añade automáticamente la columna edit, y bomba, esto puede ser modificado,
Ten en cuenta que esta columna no forma parte de la tabla por lo que en el área de update, la columna edit, no deberá formar parte de la actualización, de lo contrario generará un error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas