Abrir formulario para agregar nuevo registro desde botón de comandos

Tengo una pequeña base en Access 2013 donde tengo 3 tablas Alumnos, Carreras y Bonos, he creado un formulario con un combo donde filtro la matricula del alumno y sus datos aparecen en un subformulario llamado fbonos, si el alumno no cuenta con un bono tengo un botón de comando que abre el formulario bonos para agregar uno nuevo tomando en cuenta el dato de la matricula indicada en el combo. Mi problema es que al abrir el formulario si aparece en blanco para agregar nuevo registro pero no lo liga con el alumno en cuestión, tengo que introducir nuevamente el id o matricula del alumno para que lo ligue. El código es el siguiente:

Private Sub CmdBono_Click()
Dim vCta As Variant
vCta = Me.CboCuenta.Value
If IsNull(vCta) Then Exit Sub
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "FBonos", , , "[IdAlumno] = " & vCta
DoCmd.GoToRecord , , acNewRec
End Sub

Respuesta
2

Prueba así:

Private Sub CmdBono_Click()
Dim vCta As Variant
vCta = Me.CboCuenta.Value
If IsNull(vCta) Then Exit Sub
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "FBonos", , ,,acFormAdd
Forms("FBonos").[IdAlumno] =  vCta
End Sub

O así:

Private Sub CmdBono_Click()
Dim vCta As Variant
vCta = Me.CboCuenta.Value
If IsNull(vCta) Then Exit Sub
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "FBonos", , ,,acFormAdd,,vCta
End Sub

Y en este caso, en el evento "Al cargar" de FBonos, le pones:

Private Sub Form_Load()
If Len(Me.OpenArgs)>0 Then Me.IdAlumno=Me.OpenArgs
End If

Un saludo


¡Gracias! 

Ohh Che!   Magnifico......Me quedo a la primera con el primer código. Gracias, Gracias

Un saludo 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas