hola fgimenez
lo resuelves simplemente con una consulta de este tipo
Select * from Tabla Where fecha=mifecha
Select * from Tabla Where hora=mihora
Select * from Tabla Where profesional=SI|NO (en caso se un campo boolean)
respecto a lo de
"el objeto requerido está aún abierto.."
pues seguramente estas intentando abrir un recordset que ya esta abierto si lo quieres hacer asi pues primero debes cerrarlo para luego abrirlo sino simplemente has lo sgte:
Set MiRecordset = MiConexion.Execute("Select * from mitabla where....")
y tendras los datos en tu recordset.
Te sugiero que leas un poco la MSDN no está tan dificil lo que estas pidiendo
Att. zeekel