Hola problema formulario

Buen Día
Quisiera preguntarte si me puedes ayudar, fíjate que tengo un formulario de una tabla con el nombre "inscripcion" en ella tengo un cuadro combinado "cod_alumno" que hace referencia a otra tabla que se llama "datos" en la cual esta el nombre del alumno y el apellido. Lo que necesito es que al darle clic en el formulario Inscripción al cuadro combinado "cod_alumno" y seleccionar un alumno que me ponga en los campos de abajo automáticamente el nombre y apellido del código del alumno que seleccione algo así como =[a].columns(1) no me recuerdo muy bien pero también necesito que esto campos se graban en la tabla inscripción.
¿Qué tengo que poner y donde?
Gracias.
Respuesta
1
Desde Vb, deberías ejecutar una consulta en la tabla donde tienes los datos de los alumnos y que busque automáticamente los datos. Eso deberías ponerlo en (Vista Diseño del formulario, Propiedades del cuadro combinado, Eventos, Al Cambiar, ..., Generador de Código) y seria algo así:
Private Sub CuadroCombinado1 Change()
Dim Db As Database
Dim Sql As String
Dim ValorInicio As String
Dim RsConsulta As Recordset
Dim Nombre As String
Dim Apellido As String
Set Db = CurrentDb 'Indico que la BaseDeDatos es la Actual
ValorInicio = Me.CuadroCombinado1.Value 'Doy Valor a la varible por la que hay que buscar
'Inserto una consulta SQL con la varible por la que hay que buscar (ValorInicio = CuadroCombinado)
'Esto para que te sea más fácil, puedes crear la consulta de selección con el asistente de access
'y luego poner en vista Sql, Copiar pegar los datos aquí y modificarla para que el criterio de
'busqueda sea el que tu quieres
Sql = "SELECT TdatosAlumno.CodAlumno, TDatosAlumno.NombreAlumno, TDatosAlumno.ApellidoAlumno" _
+ " FROM TDatosAlumno" _
+ " WHERE TDatosAlumno.CodAlumno=" + ValorInicio + ";"
Set RsConsulta = Db.OpenRecordset(Sql) 'Pongo el resultado de la consulta dentro del RecordSet
If Not RsConsulta.EOF Then 'Si el valor EXISTE, no deberia pasar otra cosa, asigno las
'Variables de nombre y apellido
Nombre = RsConsulta.Fields("NombreAlumno").Value
Apellido = RsConsulta.Fields("ApellidoAlumno").Value
Else 'Si no existe el codigo de alunmo, que no deberia pasar, simplemente salgo del
'del codigo
End If
'Finalmente, le digo que ponga los valores recogidos en los campos de nombre y apellido del
'Formulario
Me.NombreAlumno.Value = Nombre
Me.ApellidoAlumno.Value = Apellido
End Sub
Si tienes dudas de como crear e insertar la consulta, dímelo y te lo soluciono

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas