Armando 'on the fly' el WHERE de la sentencia SQL.
Suponé que tenés un formulario donde, además del criterio de búsqueda que el usuario debe colocar, tenés las opciones que dijiste: Sexo y Ubicación:
Código:
<form...>
<input type="text" name="nombre"><br>
<select name="sexo">
<option value="" selected>Indistinto</option>
<option value="M">Masculino</option>
<option value="F">Femenino</option>
</select>
<br>
<select name ="ubicacion">
<option value="" selected>Indistinto</option>
<option value="Barcelona">Barcelona</option>
<option value="Madrid">Madrid</option>
</select>
<input type="submit">
</form>
Bien, ahora tenés que recoger esos datos y en base a ellos "armar tu WHERE":
Código:
<%
Nombre = Request.Form("Nombre")
Sexo = Request.Form("Sexo")
Ubicacion = Request.Form("Ubicacion")
varWHERE = " nombre = '" & Nombre & "'"
If Sexo <> "" Then varWHERE = varWHERE & " AND sexo = '" & Sexo & "'"
If Ubicacion <> "" Then varWHERE = varWHERE & " AND ubicacion = '" & ubicacion & "'"
SQL = "SELECT * FROM tabla WHERE" & varWHERE
%>
No sé si hay una manera "más profesional"... pero es la que se me ocurre ahora ;)