Allora. Stai usando DAO.
Tu vuoi fare una ricerca su 3 campi, in modo che se io nell'inputbox ci scrivo "cas", mi venga fatta una ricerca sui 3 campi, e quando uno di questi contiene nel suo valore "cas" mi dia esito positivo giusto?

Quindi riassumento tu stai effettuando una ricerca indicizzata, utilizzando il metodo Seek. Il problema è che tu, utilizzando l'operatore "=", stai definendo una ricerca "esatta", cioè cerchi ESATTAMENTE ciò che scrivi, per effettuare invece una ricerca parziale, cioè se scrivi "cas", ti rova "casa", "cassa", "incas" ec.., devi utilizzare gli operatori "<", ">", ">=" e "<=".
[es.(.Seek ">=")]
Ok?

Per la ricerca in tutti i campi, penso che una soluzione sia quella di fare una ricerca sequenziale, nel senso che fai prima la ricerca sul campo CD N°, se questa ha esito negativo, inizi la ricerca sul secondo campo (Titolo.Seek...) e così via.

Purtroppo io DAO nn lo uso, l'ho solo studiacchiato tempo fa
Quindi nn so nemmeno se quello che ti sto consigliando sia del tutto logico.

Ti posso solo dire che con SQL e ADO, risolveresti il tutto in 2 linee di codice, oltretutto molto + comprensibile.

Prova e fammi sapere.

Ciao. Janx.

P.S. se ti piace davvero.... impari..impari...