Crear Formulario y SubFormularios Registros Relacionados

Señores TodoExperto, necesito de su asesoría en cuanto:

Estoy realizando un formulario de Docentes desearía que al mostrar los datos de un Docente mostrara las materias que imparte, estas previamente cargadas en otro formulario llamado MateriasDocente, he probado con un formulario continuo y no logro realizar lo deseado, si el docente no tiene materias asociados no debe mostrar ningún registro asociado. Acá le muestro el Formulario y como debería mostrar los registros, he probado con un Listado y no logro agarrar la idea, indíqueme cual sería la opción conveniente…Gracias

Sin registros relacionado

CON REGISTRO RELACIONADO

El los Campos Relacionados: Cedula (Tabla Docente) CodigoDocente (Tabla DocentesMaterias)

2 respuestas

Respuesta
1

Si me permites un consejo, yo sustituiría ese subformulario que dices por un cuadro de lista. Mira, en las imágenes, le digo que en un cuadro de lista me muestre las ventas que le he efectuado a un cliente en particular

En este caso, me ha hecho dos compras con esos números de factura y en esas fechas. Me voy al registro de alguien que no me ha comprado

No aparece nada.

En este caso, que sólo tendrías que adaptar los nombres a los tuyos, en el evento Al activar el registro le digo

Private Sub Form_Current()
Ventas.RowSource = "select Numfactura,fechaventa from Ventas where idcliente=" & Me.Idcliente & ""
If Ventas.ListCount = 0 Then
Ventas.Visible = False
Else
Ventas.Visible = True
End If
End Sub

¡Gracias!  Eso puede ser lo que me faltaba como filtrar hacia el Cuadro de lista algo así debería funcionar para Formulario y Sub formulario con el asistente de formulario logre esto

Pero en mi Formulario Real mis Campos son independientes no de la Tabla, adaptare esta opción y la probaré Gracias Julian

Respuesta

Asumo que tiene el ID de docente relacionado con la tabla materias que dicta, entonces adicione un subformulario basado en la tabla materias por docente y relaciones los campo primarios y secundarios por el ID de docente. Esto sirve siempre y cuando este trabajando con un formulario dependiente, si no lo es debe programar un botón o algo que la hacer clic abra el subformulario pero filtrado por ID de docente.

Es correcto El Campo Cedula (Tabla Docentes) Campo CodigoDocente (Tabla Docentesmaterias)

Los campos en el Formulario son independientes y se guardan mediante un Botón con procedimiento, de igual manera los cargos mediantes un CRUD, o con la Función DLookup, al cargarse los registros del docente solo se debe mostrar las materias relacionadas con el Docente a Través de su Número de cedula como un Filtro.

¿Hay varias formas (Asumo que en la tabla está relacionada con la tabla Docentesmaterias) pero no sé por qué campo hace la relación?

1- Mostrar la información en el formulario continuo o en un cuadro de lista, puede ser en otro formulario mediante SQL. Algo como

Si es otro formulario

 Me.RercordSowrce="SELECT * Docentesmaterias FROM CodigoDocente='" & Me.OpenArgs  & "'"

En donde

Me. OpenArgs

Es la cédula o el código del docente, acá es donde hay que definir en campo relacionado.

2- Mostrar la información en un cuadro de lista del formulario abierto.

     Me.RowSorce="SELECT * Docentesmaterias FROM CodigoDocente='" & Me.OpenArgs & "'"

Asumo en ambos casos que el argumento pasado es de tipo texto, en caso contrario suprima los apóstrofes.

Sería conveniente subiera la estructura de las tablas Docentes y Docentesmaterias.

La han respondido lo mismo ya lo tiene si no quiere que aparezca el registro en blanco que marca tiene 2 opciones:

1. Ocultarlo si no tiene registros

2. Adicionar nombreSubformulario.AllowAdditions = False

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas