Módulos access

En un formulario tengo un combo que despliega datos de una tabla y quisiera saber como puedo hacer un modulo que permita ingresar nuevos datos a ese combo pues lo que yo hacia es abrir mi tabla y ponerle los nuevos datos pero no es muy practico y quisiera saber como hacerlo en mi formulario directamente pues no se mucho sobre módulos.

1 respuesta

Respuesta
1
Necesitas explicar más tu duda.
¿El combo es independiente? ¿Cómo tienes definido en el combo la propiedad ControlSource?
Supongamos que tu combo se llama "comboboxDato1" y quieres que el dato seleccionado se guarde en una tabla en la columna "Columna1" Se me ocurre por decir que puedes especificar el origen del control rápidamente así:
Formularios!TuFormulario!comboboxDato1.ControlSource = "Columna1"
Aunque te recomiendo que lo hagas mediante una instrucción SQL
Concretando tu pregunta, si lo que deseas es actualizar el origen de ese control como tal, dime qué versión de Access utilizas.
Si utilizas la versión 2007 ó 2010 es muy sencillo (y sin código, todo lo hace Access)
Supongamos que tienes una tabla principal que se llama "tblVentas" con los campos "cFecha", "cVendedor", "cCliente" y "cForma_pago"
El campo "Cliente" lo tienes como cuadro combinado y recupera los datos de otra tabla relacionada que se llama "tblClientes" y en esta están todos los datos de tus clientes.
Cuando creas el formulario de "Ventas" y le vas a vender a un cliente que no tienes registrado es un lío tener que cerrar el formulario, abrir la tabla "Clientes" para agregarlo y posteriormente abrir de nuevo el formulario "Ventas".
Pasos a seguir:
1. Basándome en el ejemplo anterior, primero crea un formulario "Clientes" y el origen es la tabla "tblClientes".
2. En tu formulario previamente creado "Ventas" lo abres en vista diseño y en el control combo del cliente "cCliente", da clic derecho y luego en "Propiedades". Ahí te vas a la pestaña "Datos" y verifica que se hayan heredado los valores. Luego busca la opción "Formulario de edición de elementos" y elijes el formulario "Clientes" y listo!
3. Abre el formulario "Ventas" en vista Formulario y verifica, al expandir el cuadro combinado hasta el final encontrarás un pequeño icono semitransparente con un lápiz, al darle clic te abirá el formulario "Clientes" y podrás modificar o agregar nuevos datos, al cerrarlo, encontrarás en el combo los nuevos datos.
Te dejo un vínculo de la ayuda en línea de Office donde visualmente se depejarán tus dudas:
http://office.microsoft.com/es-mx/access-help/crear-una-lista-de-opciones-mediante-un-cuadro-de-lista-o-un-cuadro-combinado-HA010113052.aspx
Casi al final está lo que te interesa (Especificar otro formulario para editar la lista de valores)
Te comento que normalmente no uso código en Access, excepto ciertas funciones. Por eso te recomiendo Access 2007 ó 2010 porque tiene integradas infinidad de funciones fáciles de implementar.
Espero haber ayudado y si necesitas aclarar algo más lo haces saber
Gracias por su información
Te explico mi asunto, el cuadro combinado que se llama "Periodo" despliega los años de una tabla que se llama "TablaAño" y solo tiene un campo que se llama Año que es la clave principal, el cual lo hice así para ir agregando cada año. Usted me pregunto si mi cuadro combinado es independiente pero no lo es pues como le mencione muestra los valores de la "TablaAño" y mi problema es que ya no quiero cerrar mi formulario para abrir la tabla y añadir años pues quiero hacerlo desde el formulario.
Cheque su link de access y en la parte que se llama "Editar una lista de valores con un formulario abierto en la vista formulario" entendí que solo se editan cuadros combinados independientes es decir que en su propiedad "Tipo de Origen de la Fila" diga "lista de valores" y lo que yo tengo es "Tabla/Consulta" y al final encontré una nota que dice que si mi cuadro combinado es dependiente debo utilizar las siguientes propiedades "Al no estar en la lista" y el evento "notinlist" pero no se que poner en cada una de ellas.
Si me equivoco por favor agamelo saber, espero su respuesta
Estás en lo correcto, sólo hay que afinar algunos puntos.
Al final de este mensaje te comento la utilidad o no de tener una tabla para elegir el año.
Primero resolveremos tu duda y aplica para actualizar cualquier cuadro combinado mediante otro form:
Si tienes Access 2007 / 2010:
1. Diseño de formulario, en propiedades de tu combo basta con poner el la ficha "Datos" en la opción "Formulario de edición de elementos" el nombre del formulario de tu tabla años (que es el origen del control). Y listo.
Si tienes Access 2003 entonces realiza esto:
1. Debes tener un formulario basado en la tabla "TablaAño"
2. En vista diseño del formulario donde está tu cuadro combinado "Periodo" te vas a Propiedades y en la ficha Eventos en Al hacer doble clic abres el Generador de Código (con los tres puntitos) y escribes:
DoCmd. OpenForm "frmTablaAño",,,, acFormAdd, acDialog
Me![Año].Requery

Debe verse así:
Private Sub Periodo_DblClick(Cancel As Integer)
DoCmd.OpenForm "frmTablaAño", , , , acFormAdd, acDialog
Me![Año].Requery
End Sub
'Nota: En "frmTablaAño" pones el nombre de tu formulario donde se mostrarán los años a elegir.
acFormAdd indica que el formulario se abrirá con la propiedad Entrada de datos=Sí
acDialog abrirá el formulario con las propiedades Modal=Sí y Emergente=Sí
3. Listo! En vista formulario cuando te diriges a tu cuadro combinado y no se encuentra el año que quieres, simplemente das doble clic en el control y te abrirá tu formulario de año para que ingreses el año que desees, al cerrarlo vuelves a buscar y allí estará el registro que acabas de añadir.
*** En cuanto a la tabla de los Años en general no le veo utilidad (claro, no conozco tu base de datos posiblemente sí sea necesario). Pues a lo mucho son sólo 4 digitos y puede ser más tardado buscarlos en la lista que agregarlos normalmente.
Ejemplo: En el campo de tu tabla principal (en este caso se supone que el campo es de tipo de datos "Número")puedes restringir los años que se pueden agregar. Si sólo se aceptan años mayores a 1950 puedes poner en:
Regla de Validación : >1950
Texto de validación: Sólo se pueden agregar años mayores a 1950.
Ahora, si sólo necesitas agregar el año actual, en tu tabla principal en vista diseño crea un nuevo campo que se llame "AñoPrueba" en tipo de datos elijes "Fecha/Hora" y en las propiedades del campo en formato escribes "aaaa" sin comillas y en Valor Predeterminado pones Fecha() y ya está.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas