Puedes realizar lo siguiente en la clausula WHERE, te pongo el ejemplo para uno de los filtros, para los demas solo ocupas repetir...
De que sirve esto? sirve para que solo filtre la informacion por aquellos parametros que le envies con algun valor..
Código C:
Ver originalstring perId = comboBox1.SelectedValue;
string deptId = comboBox2.SelectedValue;
comando.CommandText =
"select idacta, PE.nombrePeriodo, DE.nombreDpto, MA.nombreMateria, PR.nombreProfesor, TS.nombreTipoSemestre, grupo, clave, folio, ruta " +
"from Actas A join Periodos PE on A.idperi = PE.idperi " +
"join Departamentos DE on A.iddpto = DE.iddpto " +
"join Materias MA on A.idmate = MA.idmate " +
"join Profesores PR on A.idprofe = PR.idprofe " +
"join TipoSemestre TS on A.idtiposem = TS.idtiposem " +
"WHERE (('" + perId + "' = '') OR (idperi= '" + perId + "')) AND
(('" + deptId + "' = '') OR (iddpto= '" + deptId + "')) AND
...................
Si no seleccionaste un periodo en tu ComboBox entonces traera toda la informacion, si si le enviaste un periodo, te traera solo la informacion referente a ese periodo, y asi sucesivamente con los demas filtros, suerte.
Saludos