Quando si progetta una maschera in Access, è possibile visualizzare un valore da una tabella o una query diversa da quella a cui è associata la maschera. Si supponga, ad esempio, di avere una maschera Prodotti associata a una tabella Prodotti. Dopo aver progettato il modulo, tuttavia, si decide di visualizzare nel modulo il nome del contatto del fornitore per ogni prodotto, ovvero i dati che risiedono in una tabella denominata Fornitori. La procedura seguente illustra come usare la funzione DLookup per eseguire questa attività. È possibile modificare l'espressione nel passaggio 6 per adattarla ai propri dati.
Aggiungere la casella di testo
- Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla maschera che si desidera modificare e quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.
- Nel gruppo Controlli della scheda Progettazione fare clic su Casella di testo.
- Individuare l'area della maschera in cui si desidera aggiungere il controllo e quindi trascinare il puntatore sulla maschera per creare la casella di testo.
- Fare clic con il pulsante destro del mouse sulla casella di testo e quindi scegliere Proprietà dal menu di scelta rapida.
- Nella finestra delle proprietà fare clic sulla scheda Tutto .
- Impostare la proprietà Origine controllo sul valore seguente:
=DLookup("[NomeContatto]","[Fornitori]","[IDFornitore]=" & Forms! Prodotti! ID fornitore) - Salvare le modifiche apportate alla maschera e quindi chiudere la finestra delle proprietà.
Questa espressione esegue la ricerca nella tabella Fornitori e restituisce il nome contatto del fornitore il cui ID fornitore corrisponde al valore nel controllo IDFornitore della maschera Prodotti. Si noti come l'operatore& viene usato per costruire il terzo argomento della funzione DLookup (il terzo argomento è "[SupplierID]=" & Forms! Prodotti! ID fornitore). Un errore comune da evitare è quello di racchiudere l'intero argomento tra virgolette anziché il testo che precede l'operatore & .
Nota
In alternativa all'uso della funzione DLookup , è possibile creare una nuova query sottostante per includere solo le informazioni necessarie. L'uso di una query è spesso più efficiente dell'uso di una funzione.