Ma da codice usi ADO o DAO?
Mostra come hai dichiarato il recordset...

Questo sembra essere il classico caso arci-noto dei caratteri jolly che sono diversi tra ADO e DAO:

- con DAO si usa l'asterisco (*)
- con ADO si usa il percentuale (%)

Quesot spiega perchè in MSAccess ti funziona (perchè MSAccess internamente usa DAO).
Mentre se tu da codice crei un recordset ADO, allora devi usare il percentuale.

Prova quindi così:

codice:
sSql = "SELECT * FROM attrezzatura WHERE attrezzatura like '%" & txt_attrezzatura & "%'"
P.S. Nel caso specifico, il nome del campo lo puoi indicare anche senza anteporre quello della tabella.
Di norma è MSAccess che mette tutti i nomi delle tabelle, parentesi a go-go, ecc. quando crei le query nel suo ambiente.