Io punterei a fare tutto con un solo ciclo
Il vantaggio è che puoi "decidere in partenza gli Id autoincrementali da dare ai tuoi record e metterteli in opportune variabili di VBA
Tu sai che con VBA puoi forzare il valore di un Id autoincrementale di Access ???
quindi con un DMax(Id) +1 decidi gli Id e poi
- li Forzi nelle Key primarie
- li metti (sempre gli stessi) nelle Key Secondarie
Per ogni riga di Excel (passo de ciclo) ti popoli una per una tutte le tabelle che ti servono
Per forzare un Id autoincrementale io farei cosi:
Chiaramente quel 79 non puo gia essere utilizzato nella tabellacodice:DBEngine(0)(0).Execute ("INSERT INTO T1 (Id, c1, c2) SELECT 79, 'wer' as x1, 'yuo' AS x2;")
attento ai problemi di concorrenza, mentre fai i tuoi INSERT devi essere sicuro che nessun altro utente ti inserisca (per sfiga) un altro record