capito tutto! grazie mille

infatti pensavo che i campi tra virgolette andassero messi se avessi usato il codice in Vba, invece a quanto pare è il contrario.

ho risolto come hai detto tu così

=Dlookup("Prezzo_Acquisto";"Prodotti";"Codice_Prod otto='" &
[Codice_Prodotto] & "'")

solamente che ho aggiunto gli apici perchè codice_prodotto è un campo di tipo testo.