Access - Introducir varios registros en formulario

 
Vista:

Introducir varios registros en formulario

Publicado por miguel 1972 (1 intervención) el 13/03/2012 19:24:15
Hola gracias por anticipado, tengo una bdd con varias tablas y un formulario que me coge datos de una tabla (pedido) y los introduce en otra (Fichasemana) con varios campos de codigo y de texto, en el formulario mediante un cuadro combinado con todos los campos necesarios selecciono la linea que contiene todos los datos de todos los campos que tiene que introducir en la tabla fichasemana y solo introduce el codigo, si sabeis como solucionarlo, gracias, hasta luego

miguel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Introducir varios registros en formulario

Publicado por Neckkito (1157 intervenciones) el 14/03/2012 17:43:01
Hola:

Te lo explicaré a través de un ejemplo. Supongamos que yo tengo tres campos, [Nombre], [Apellidos] y [EC], que son los que se tienen que rellenar al seleccionar un valor en el combo. Evidentemente combo y campos están en el formulario.

Lo primero que haremos, por comodidad, es renombrar el combo. Sacas sus propiedades y te vas a la Pestaña Otras -> Nombre, y ahí le escribes cboDatos

Lo segundo, vamos a utilizrar el evento "Después de actualizar" del combo para ejecutar el código. Para eso, sacas las propiedades del combo y te vas a la Pestaña Eventos -> Después de actualizar, y le generas el siguiente código:

...
Private Sub cboDatos_AfterUpdate()
'Si no hay valor en el combo sale del proceso
If IsNull(Me.cboDatos.Value) Then Exit Sub
'Asignamos los valores del combo
With Me
.[Nombre].Value = .cboDatos.Column(0)
.[Apellido].Value = .cboDatos.Column(1)
.[EC].Value = .cboDatos.Column(2)
End With
End Sub
...

Debes tener en cuenta que el combo de ejemplo mostraba, por este orden, Nombre/Apellido/EC. Como el conteo de las columnas no empieza por 1, sino por 0 (cero), es por ello por lo que en el código le estoy diciendo

With me
.El valor del campo nombre = el valor de la columna 0 del combo
.El valor del campo apellido = el valor de la columna 1 del combo
etc.

Pues entre el With y el End With, siguiendo la estructura, tú debes poner todos los campos que quieras que se te rellenen y su correspondencia con el número de columna del combo.

Un saludo,

Neckkito (... http://neckkito.eu5.org ...)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar