Poiche' i codici magazzino sono uguali e tu ordini SOLO per codice magazzino, l'ordine risultante di 2 (o piu') record con la stessa chiave e' INDETERMINATO, e dipende dall'implementazione interna dell'algoritmo ma anche da un'infinita' di altre condizioni come ad esempio la posizione FISICA del record nello storage che sta su disco che NON NECCESSARIAMENTE rispecchia l'ordine di inserimento, perche' Access cerca di ottimizzare anche lo spazio su disco utilizzato.
Questo e' vero per TUTTI i DBMS non solo per Access.
Se ti serve un particolare ordinamento, lo DEVI OTTENERE mediante una ORDERBY e NON affidarti al fatto che per colpo di C. l'ordine ritornato dalla SELECT e' esattamente quello che ti aspetti, perche' questo puo' cabiare ARBITRARIAMENTE in ogni momento.
Access ti ASSICURA di rispettare l'ORDERBY che hai specificato, per il resto fa quello che vuole.
ATTENZIONE: questa logica e' altrettnto valida per l'ORDINE delle COLONNE.
NON FIDARTI dell'ordine ritornato da “SELECT *”, NON E' DETTO che l'ordine rimanga quello SEMPRE! Se ti serve un ordine specifico, indicalo ESPLICITAMENTE
Prevenire e' meglio che curare ;-)