Re: Referencia De Controles Por Nombre
El tema es, Jesús, conseguir una serie de funciones que permitan la estandarización de las acciones normales de cualquier formulario. En concreto estoy haciendo un módulo que permita:
-Cargar los datos de la base de datos en el contenedor
-Rellenar los combos y listas, si los hay, con las tablas relacionadas mostrando los campos alternativos, si eso es lo que deseamos.
-grabar los datos en la tabla / tablas, si se ha producido algún cambio en ellos y no hacer nada si no se ha producido ningún cambio.
-limpiar los campos caso de querer un registro nuevo o un cambio de registro
Símplemente llamando a las funciones estándar. Ejemplo:
Tenemos el módulo "formularios" con las funciones (y otro "comun" con una serie de funciones más genericas, pero eso es otra historia)
Para rellenar un formulario con el contenido de un registro cuyo dni tenemos en la variable privada key sólo hace falta este código:
dim res as result
res = comun.consultar("personas", "dni", key, "exec") 'donde personas es la tabla, dni el campo clave, key el valor que buscamos y exec el tipo de consulta
formularios.llenaCampos(res, ME.Panel5) 'panel5 contiene todos los campos de la tabla dentro del formulario
formularios.llenalista(provincia, "provincias", "denominacion") 'donde provincia es un comboBox, provincias una tabla y denominación el campo del combo
dirty = FALSE ' indica que no se ha modificado nada aún.
Este código es casi estándar en todos los formularios y mucho más simple de mantener. Dejamos el código de la clase del formulario para cosas específicas, como validaciones y demás.
Dentro de este esquema de funcionamiento, hay que recorrer los distintos campos del contenedor y de la base, etc. etc. y no sabemos en qué posición irá cada uno. De ahí la necesidad de acceder por nombre.
Si os interesa adjuntaré el módulo... pero no está perfeccionado aún.