Prueba esto en su lugar:
WHERE 1 = 1
AND (@what IS NULL OR [companies_SimpleList].[Description] Like @What )
AND (@keywords IS NULL OR companies_SimpleList.Keywords Like @Keywords)
AND (@where IS NULL OR companies_SimpleList.FullAdress Like @Where)
...
Si alguno de los parámetros @what
, @where
se envía al procedimiento almacenado con NULL
entonces la condición será ignorada. Puede usar 0 en lugar de nulo como valor de prueba, entonces será algo como @what = 0 OR ...