Artículo

Como Crear un Formulario de Datos Tipo Form-SubForm

Autor / Fuente

Harvey Triana

Tema

Programación Visual Basic con Bases de Datos Jet (Joint Engine Technology)

Actualización

Septiembre 20 de 1997

Descripción

Ejemplo de como construir un formulario de datos con una tabla relacionada, al estilo Access Form-SubForm. Código para Visual Basic 4.0 y DAO 3.0


Como Crear un Formulario de Datos Tipo Form-SubForm

Es realidad decir Form con Subform es un término. En Access efectivamente se implementa con dos formularios. Con programación VB se puede implementar lo mismo. He aquí el modo de hacerlo.

Se presenta un ejemplo relativamente sencillo e intuitivo. Una base de datos con un tabla Continentes que relaciona uno a varios la tabla Países. Al crear la base de datos tenga en cuenta lo siguiente:








  • El código se escribió para VB 4.0 - DAO 3.0, pero no se presentan cambios significativos para versiones superiores
  • Las tablas usan la relación uno a varios con integridad referencial
  • Es conveniente fijar la propiedad Valor Predeterminado para todos los campos en la estructura. Los campos nulos, que no son filtrados, producen errores indeseables al ejecutar comandos de administración de datos. Para sartas puede ser una cadena vacía.
  • Puede establecer Reglas de Validación. El DBEngine se encargará de filtrar los datos. Aunque esto se puede controlar de una manera más personal en el evento Validate de los Data Controls.
  • El nombre del Campo Vinculo es el mismo en las tablas relacionadas. Tipo Contador (Automático) para la tabla padre y Entero Largo para la tabla subyacente. Esto es una regla en Access y debe seguirse.
  • En el ejemplo, la base de datos no pertenece a un sistema de seguridad de cuentas. Si va a usar una BD con contraseña, especifique la misma en la propiedad Connect de todos los Data Controls (";pwd=miContraseña").
  • Requiere el Control DBGrid. Para la personalización del Control DBGrid puede guiarse de la ayuda VB o solo de Clic derecho en el control y responda los diálogos.
  • El código presentado considera el ambiente multiusuario. Para acceso a una BD remota, usaría en control RemoteData casi de la misma forma que el Data Control. El código presentado en este articulo es un buen comienzo de la implementación Cliente-Servidor.

El ejemplo fue tomado de una implementación más compleja de uno de mis programas (con tres niveles). Con objetivo didáctico y debido a la simplicidad del ejemplo, se suprimió parte de código riguroso. Puede extender a otro nivel de Datos Subyacentes (p.e las Ciudades de los Piases), si se estudia el código, será muy fácil. ¡ Es un reto !.

Espero que satisfaga las expectativas. Cualquier programador VB puede emplear y personalizar este código. Use este vínculo para bajar los archivos: « Download »


Harvey Triana Envíe sus comentarios a: psoft@latino.net.co
Derechos libres de reutilización solo para programación.