Non devi usare una query di aggiornamento per gestire MATERIALI e PREZZARIO in questo modo. Le due tabelle hanno campi incoerenti con il nome della propria tabella. MATERIALI deve avere soltanto campi che parlano dei Materiali e basta. Prezzo e Quantità sono valori che devono stare in un'altra tabella. Di conseguenza il PREZZARIO deve avere anche un campo Data (o Anno) perchè il Prezzo non è mai lo stesso nel corso del tempo. Anche Totale non deve essere un campo di tabella, ma il risultato di una query che fa calcoli.
matteo innocenti ha scritto:
Il problema è il seguente: Se nella lista degli ARTICOLI vi sono piu di una voce con lo stesso nome, la query mi prende il prezzo della prima che trova scorrendo la lista, senza considerare il fatto che ve ne sia piu di uno.
Volendo ignorare l'errore organizzativo che ho detto prima, questo è un problema abbastanza tipico che si può risolvere in molti modi.
A) Innanzitutto devi sempre prevedere più colonne e, in caso di uguaglianza testuale, bisognerebbe avere cura di controllare sempre la casella combinata per vedere i restanti valori nelle successive colonne.
B) In alcuni casi relativamente semplici (è classico l'esempio di Cognome e Nome visualizzabili su un unico campo), puoi accorpare i valori di più colonne in una sola proprio per vedere con colpo d'occhio in tempo reale le diverse caselle. Occorre impostare una query con una colonna avente una espressione che concatena i vari campi ad es.
[Campo1] & [Campo2] & [Campo3]
o meglio
[Campo1] & " " & [Campo2] & " " & [Campo3]
oppure
[Campo1] & "-" & [Campo2] & "-" & [Campo3]
Rimane sottinteso che la casella combinata deve avere sempre come prima colonna il campo ID che può essere nascosto opportunamente (questo aspetto è stato già discusso moltissime volte)...