allora mi sembra non corretto riportare entrambi i dati nella tabella appuntamenti in quanto il dato lo puoi poi ricavare dalla tabella anagrafica, sarebbe meglio portare solo l'id della tabella anagrafica come chiave esterna nella tabella appuntamenti.
poi nella maschera appuntamenti crei 3 campi normali (diciamo per esempio txt_id_anagrafica txt_ditta txt_referente (di cui txt_id_anagrafica non so dirti se associato o meno perchè non so come e quando salvi i dati))
come origine controllo di txt_ditta:
=DLookUp("nomeditta";"[anagraficaclienti]";"[id]=" & [txt_id_anagrafica])
come origine controllo di txt_referente:
=DLookUp("referente";"[anagraficaclienti]";"[id]=" & [txt_id_anagrafica])
sul pulsante nuovo appuntamento nell'evento click inserisci:
forms!appuntamenti!txt_id_anagrafica= forms!AnagraficaClienti![metti_il_nome_del_campo(che dovrà essere quello dove risiede l'id della tabella anagrafica)]