Cmq ora scappo e siccome sono in ferie non so se ci sarò!
Se usi access allora al posto dei tuoi valori nella stringa metti il simbolo ?
ad esempio [categoria] = ? and [produttore] = ?
e credo tu debba rispettare l'ordine, credo perche non l'ho mai fatto su access
se invece usi sql server allora usa il carattere @ seguito dal nome campo cioè
categoria = @categoria and produttore = @produttore ....
buone vacanze a tutti