Concettualmente quello che hai ipotizzato è errato, nella Tabella CONTENITORI non devi avere il Fornitore, ma ID(relativo alla tabella Fornitori) come Chiave Esterna della Tabella.
Manca tuttavia una ChiavePrimaria, che ti consiglio definire sempre come COUNTER per comodità.
Fai attenzione a non chiamare ID tutte le PK delle tabelle altrimenti in Query JOIN non ci capirai più nulla...!
Strutturata bene la cosa poi dovrai scrivere una formuletta che usando DMAX vada a comporre il codice aggregato usando come Criterio di estrazione ID(Fornitore) sulla parte Numerica progressiva del CODICE.
NUOVO CODICE=ID & NZ(DMAX(Val(Right$(CODICE)),"NomeTabella","Id=" & TuoID)+1)
se invece del ID per comporre il CODICE vuoi proprio il Nome Fornitore(cosa che io non farei mai in quanto sarebbe un peso inutile) devi estrarre con DLOOKUP il campo della Tabella FORNITORI passando come Criterio il campo ID.
Ora leggi bene quello che ti ho spiegato, fai qualche prova e vedi dove arrivi, mostraci eventuali stralci di codice e gli errori che ne derivano nel caso ci siano...