Concettualmente quello che fai è errato.
Ora per il primo caso, è concepibile la doppia combo, soprattutto se sei in una Maschera continua, se fossi in una Singola non avrebbe senso, basterebbe un'Option Button ed a seconda della selezione abiliti la scelta del Nome(città) o del Cap semplicemente scambiando l'ordine della 2°colonna visibile nel predicato SQL del RowSource(Origine Riga).
Per l'emissione della Fattura invece NON ha senso, se selezioni il CLIENTE i dati di Città e/o CAP devono risiedere già nella compilazione al momento dell'immissione del Cliente, quindi perchè devi reinserirli...?
O meglio se devi inserirli, devi usare la Maschera preposta a farlo, quindi aprirai la maschera di dettaglio Cliente in modalità Dialogo, compili il tutto e poi rientri.
Se vuoi ereditare tutti i dati in Visualizzazione, costruisci una Combo basata su una Query che veda il JOIN tra Clienti e Città con i campi recuperati sfruttando l'autolookup.
Quindi se vuoi compilare delle TextBox(che però dovrannon essere in sola lettura) inserirai nella loro origine riga =NomeCombo.Column(indice) e tutto si aggiorna in automatico...
In tutti i casi se questa è la funzionalità che ricerchi, è ovvio che la tua azione non può agire sulla sola Tabella Fatture, ma devi creare una Query che tenga in JOIN le 2 Tabelle o 3 addirittura...
Secondo me in tutti i casi con questa Logica, poi andrai a saturare la modalità di lavoro.