Temas de SQL Server - Formularios Dinámicos

Imágen de perfil
Val: 34
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Contenido en LWPFormularios Dinámicosgráfica de visualizaciones


SQL Server

Publicado el 23 de Julio del 2019 por Gnomi
5.560 visualizaciones desde el 23 de Julio del 2019
Articulo original en https://www.gnomi.club/formularios-dinamicos/

Al desarrollar aplicaciones de Bases de Datos, es necesario programar los formularios necesarios para darle mantenimiento a las diferentes tablas que guardan la información del sistema. Cuando se tienen varias decenas o cientos de tablas, crear y mantener igual cantidad de formularios se convierte en una tarea de programación y mantenimiento bastante complicada. Muchos desarrolladores optan por tener un “formulario machote” base, copiar y pegar para cada caso, otros, utilizan clases, pero todos terminan con una cantidad de formularios importante en su sistema. Utilizar una técnica de Formularios Dinámicos, facilita el desarrollo y mantenimiento respectivos, al generar un único formulario capaz de Insertar, Modificar y Eliminar registros de cualquier tabla del sistema.

formulario-e1521568163984


Un formulario estandar
Uno de los principales factores de éxito de un sistema de información en el mercado, a parte de que cumpla con su objetivo, es que sea de fácil uso. Para lograr esto, el diseño de la aplicación debe considerar un modelo de funcionamiento consistente a lo largo de todo el sistema: Mismos colores, misma forma de elementos como botones, campos, títulos, etc.

Este concepto toma especial relevancia en el caso de formularios para dar mantenimiento a la información de una base de datos. Estos deben ser prácticamente idénticos, de manera que si el usuario aprende a utilizar uno, ya sabrá utilizar todo el sistema.

Iniciemos considerando las partes mas comunes de un formulario:

formulario2-e1521569583911


Siguiendo el principio de dar consistencia al sistema a desarrollar, el único elemento que varía de un formulario a otro, son los campos asociados a la tabla a actualizar. El resto de componentes es exactamente igual, con las mismas funcionalidades.

Podemos entonces en pensar en un único formulario, cuyos campos sean dinámicos, dependiendo de la tabla que se quiera mantener. Estaremos aplicando el concepto de creación de aplicaciones conducidas por datos



Tablas de definición de Formularios
Se necesita básicamente de dos tablas dentro de la misma base de datos para lograr esta dinámica, una que guardará los datos de las tablas a mantener y otra que guardará la información de los campos correspondientes y sus características de formato.

tablasformularios-e1521570917105

Dependiendo del motor de Base de Datos con que se cuente, se puede incluso utilizar facilidades de lectura de los objetos de la base de datos y con ello evitar o reducir este par de tablas.



La tabla de formularios
La tabla de formularios contendrá como mínimo los siguientes datos:

- id: Es un campo entero, llave primaria, autogenerado. Con cada registro, se autoasigna su consecutivo.
- encabezado: Texto a colocar en el encabezado del formulario
- tabla: Nombre de la tabla a mantener en la Base de Datos

Ejemplo de la tabla ya con información:

datosformularios



La tabla de Campos
Los siguientes son los campos que darán forma al área de trabajo del formulario:

- id: Es un campo entero, llave primaria, autogenerado. Con cada registro, se autoasigna su consecutivo.
- formulario: es la identificacion (id) correpondiente al formulario al cual pertenece el campo.
- campo: Nombre de campo en la tabla de la base de datos.
- etiqueta: Texto a desplegar en el area de trabajo del formulario que identifica al campo respectivo.
- tamano: Tamaño del campo en caracteres.
- tipo: Tipo de Dato (texto, numero, fecha, etc.)
- secuencia: determina el orden del campo dentro del formulario

Ejemplo de los campos requeridos para los formularios registrados:

datoscampos



Vista para usar en tiempo de EJECUCIÓN
Por facilidad de uso, es conveniente tener en la base de datos, una vista que nos presente la informacion de encabezados y campos debidamente mezclada, a fin de tener todos los componentes necesarios a la hora de construir el formulario:

vistaformularios-e1521572157927



Formularios Dinámicos
Funcionamiento
El formulario que se desarrolle, debe en primera instancia, recibir dos parámetros:

- tabla: es el nombre de la tabla que se desea trabajar con el formulario.
- registro: es el numero de registro de la tabla especificada que se desea visualizar, modificar o eliminar

Por ejemplo, la instrucción siguiente llama al formulario dinámico, programado en PHP, le indica que utilize la tabla 1, y que muestre el registro 1

http://nombredeservidor/tstmaint.php?tabla=1&registro=ADD

en este caso, y utilizando las tablas de formularios y campos que definimos anteriormente, se estaría dando mantenimiento a la tabla “customers”, y se estaría llamando al formulario para que se active en modo de insercción de un nuevo dato:



Al ejecutarse el formulario debe realizar lo siguiente:

Leer los parámetros tabla y registro suministrados en la URL
Conectarse a la base de datos
Leer la tabla que contiene la definición de formularios (xxFormularios en nuestro ejemplo) y extraer los datos “encabezado” y “tabla” correspondientes al id especificado en el parámetro “tabla” (1 en nuestro ejemplo).

datosformularios2

Leer la tabla de definición de campos (xxCampos) y extraer el set de registros pertenecientes a la tabla especificada en el parámetro “tabla”

datoscampos2

Leer la tabla especificada en el campo “tabla” de la consulta a “xxFormularios” y extraer el registro correspondiente al valor indicado en el parámetro “registro” de la URL utilizada. En caso de ser ADD, se interpreta como una insercción de datos, de lo contrario, recogerá el numero de registro indicado.
“Dibujar” el formulario con los datos capturados:
Encabezado
- El texto del encabezado proviene del campo “encabezado” de la lectura.
- El botón “Agregar” hace un simple llamado a, lo que permite “Agregar” un nuevo registro: http://nombredeservidor/tstmaint.php?tabla=1&registro=ADD
Area de Trabajo
- Para cada uno de los campos identificados en la consulta a “xxCampos” y siguiendo la “secuencia” especificada, desplegar la “etiqueta” y la correspondiente captura del dato relacionado con el “campo”, respetando el formato que el “tipo” represente y el “tamaño” del mismo.
Controles
- Agregar los botones para navegar al registro anterior o al registro siguiente
- Agregar los botones de “Grabar” y “Deshacer”

Al llenar los datos y al utilizar la opción Grabar, el formulario deberá hacer lo necesario para enviar esa informacion a la base de datos y que la tabla correspondiente quede debidamente actualizada.



Control de calidad de datos
El aseguramiento de la calidad de datos, debe realizarse a nivel de la base de datos de manera que si una misma tabla es actualizada por varios sistemas, las revisiones sean siempre las mismas. Revisa el articulo descrito a continuación para mas detalles sobre como manejar las transacciones y calidad de datos





Con esta técnica, puedes simplificar la complejidad de tus aplicaciones y el correspondiente mantenimiento, tanto para introducir mejoras como para atender posibles errores de programación.

No olvides de compartir en tus redes sociales y de comentar!!!

Bendiciones!!!



Comentarios... (0)


No hay comentarios
 

Comentar

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/t10157