Jesús: Este trozo de código
If Nz(DLookup("Privilegio", "Profesores", "id=" & Me![Usuario]), "") = 1 Then
DoCmd.OpenForm "Panel de Control"
Else
DoCmd.OpenForm "Calendario", , Me.Profesor.Locked = True
End If
Lo sustituyes por:
If Nz(DLookup("Privilegio", "Profesores", "id=" & Me![Usuario]), "") = 1 Then
DoCmd.OpenForm "Panel de Control"
Else
Dim Frm As Form
DoCmd.OpenForm "Calendario"
Set Frm = Forms!Calendario.Form
Frm.Profesor.Locked = True
Set Frm = Nothing
End If
Otra Forma de hacerlo, sería en el Form_Load del Própio Formulario Calendario, usando una Variable Publica y usando un Bucle, pero para construir el código tendría que ver la BD.
Y otro tema es que con el código que tenías y con éste que te envío, el Calendario se abrirá por un Nombre que no necesariamente ha de ser el deseado.
Si ves que no logras resolverlo, y necesitas más ayuda, pones un enlace aquí con tu BD y datos inventados o bien si no la quieres hacer pública por algún motivo, igualmente con datos ficticios me la puedes enviar a [email protected]
Mis saludos >> Jacinto