Spróbuj zamiast tego:
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)
...
Jeśli którykolwiek z parametrów @what , @where jest wysyłany do procedury składowanej z NULL wartość wtedy warunek zostanie zignorowany. Możesz użyć 0 zamiast null jako wartości testowej, wtedy będzie to coś w stylu @what = 0 OR ...