Prova invece questo:
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)
...
Se uno qualsiasi dei parametri @what
, @where
viene inviato alla stored procedure con NULL
valore, la condizione verrà ignorata. Puoi usare 0 invece di null come valore di test, quindi sarà qualcosa come @what = 0 OR ...