¿Cómo crear un formulario con origen variable, es decir que acepte una variable con el nombre de la tabla destino de los datos?
Tenemos nociones muy básicas de Access y estamos enfrascados en el siguiente asunto:
Estamos trabajando en una aplicación que tiene más de 50 tablas, las cuales hemos registrado en otra tabla TBitácora con sus nombres y otros datos maestros que usan en el programa.
Hemos pensado que para la actualización de estas tablas mediante formularios para cada una se haría muy desgastante, por lo que consideramos hacerlo a través de un formulario con origen variable, es decir, que reciba el valor de una variable con el nombre de la tabla destino. Todas la tablas tienen la misma estructura de datos.
Entonces creamos el formulario FSelTab con un cuadro combinado selTab para escoger el nombre de la tabla destino y llevarlo a una variable vTabla para su posterior utilización en un Módulo que actualice los saldos de las tablas mediante el método Recordset tomando las entradas del formulario genérico. El cuadro combinado toma este dato de una consulta a la tabla TBitácora.
- Hemos declarado la variable Public vTabla as String
- En el evento Al Hacer Click del cuadro combinado del formulario FSelTab hemos igualado la variable vTabla = Form!SelTab.Value para guardar el valor seleccionado.
- Creamos un módulo mDetSal para abrir la tabla destino y actualizar el campo sTotal con base en los campos del formulario eDeb y sCred, que representan el saldo, los cargos y los abonos respectivamente.
Las preguntas para los amables expertos que nos puedan ayudar serian:
1. ¿Cuál es la sintaxis del origen variable del formulario genérico?
2. ¿El cuadro combinado para escoger la tabla destino puede ir dentro del formulario genérico o debe ir en otro diferente?
3. ¿Cuál sería la sintaxis de la propiedad que abre el Recordset en el módulo, que igual que el formulario genérico dependen de la variable vTabla?
¿podría ser algo como Set res = CurrentDb.OpenRecordset("" & vTabla & "")?
De antemano muchas gracias a todos y pedimos disculpas por la torpeza en la exposición de los temas pero como ya mencionamos somos novatos en el manejo de Access y VB. Tenemos montada la BD en Access 2013. Aclaramos que las tablas, consultas, informes y otros que hacen parte del programa, están funcionando, esperamos que bien.