Como hacer contador de registros en subformulario?

Tengo una base de datos en access para registrar las clases impartidas por los profesores, en un formulario por medio de un combobox selecciono al profesor y el rango de fechas a consultar y en un subformulario me aparecen las clases que dio de 60 y 90 min., lo que me gustaría hacer es poner en el formulario 2 cuadros de texto uno de 60 y 90 min, y me cuente por medio de un código o macro cuantas hay de cada una y me muestre los resultados en dichos cuadros de texto.

Respuesta
2

Al no saber como tienes construidas las tablas, el formulario, ni como eliges el profesor, ni como escribes o eliges las fechas, etc, etc., voy a suponer, ya que se puede hacer de mil formas.

Supongamos que tienes el formulario, donde en un combinado Elijo el profesor. El combinado se llama elegir y tiene dos columnas aunque sólo muestra 1. La columna dependiente es la del IDProfesor. Elijo uno

Luego escribo la fecha inicial, la final

Y cuando pulso Enter

Te he puesto que muestre que registros son, aunque no haría falta pero es para que compruebes que lo que aparece en los cuadros de texto es correcto

El código del evento Después de actualizar del cuadro de texto FechaFin es

Private Sub FechaFin_AfterUpdate()
Me.RecordSource = "select * from clases where idprofesor=" & Me.Elegir & " and fecha between forms!clases!fechaini and forms!clases!fechafin"
Sesenta = DCount("*", "clases", "idprofesor=" & Me.Elegir & " and fecha between forms!clases!fechaini and forms!clases!fechafin and duracion=60")
Noventa = DCount("*", "clases", "idprofesor=" & Me.Elegir & " and fecha between forms!clases!fechaini and forms!clases!fechafin and duracion=90")
End Sub

Por eso sería conveniente que pusieras una imagen de como es el formulario y el ¿subformulario?

Muchas gracias, perdón por la falta de información, este es el formulario:

-Seleccionas el nombre del profesor

-Rango de fechas

-botón calcular(arroja el calculo)

El problema es que tienen que contar las clases según la duración.

Es exactamente igual, sólo hay que hacer referencia al subformulario. Elijo un profesor y escribo las fechas

Pulso el botón de calcular y es exactamente lo mismo

El subformulario se llama Clases y el código del botón es(sigo recordando que el subformulario no haría falta para nada, ya que los cálculos los hace en la tabla).

Private Sub Comando11_Click()
Me.Clases.Form.RecordSource = "select * from clases where idprofesor=" & Me.Elegir & " and fecha between forms!formulario1!de and forms!formulario1!hasta"
Sesenta = DCount("*", "clases", "idprofesor=" & Me.Elegir & " and fecha between forms!formulario1!de and forms!formulario1!hasta and duracion=60")
Noventa = DCount("*", "clases", "idprofesor=" & Me.Elegir & " and fecha between forms!formulario1!de and forms!formulario1!hasta and duracion=90")
End Sub

Ni haría falta la primera línea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas