Come posso aggiungere un field a un module MS Access 2002 che si riferisce ad un'altra tabella?

Ho una forma di MS Access 2002 che fornisce sostanzialmente le caselle di text per manipolare i record in una tabella denominata Materials . Ho anche un'altra tabella denominata MaterialCosting che ha una colonna MaterialID che la collega alla tabella Materials che ha anche una colonna MaterialID . Quello che sto cercando di fare è aggiungere una casella di text a questo module che legge e scrive in un field di MaterialCosting denominato outerCarton .

Ecco i miei tentativi falliti:

  1. Fare clic con il button destro del mouse sul module, scegliere properties; e dati-> Sorgente record , immettere una query SQL che unisce le due tabelle ( SELECT * FROM Materials AS M INNER JOIN MaterialCosting AS C ON C.MaterialID = M.MaterialID ). Quindi inserire semplicemente il nome della colonna richiesta ( outerCarton ) nella sorgente di controllo della casella di text.
  2. Nella sorgente di controllo della casella di text, mettere DLookup("[outerCarton]", "[MaterialCosting]", "MaterialCosting.MaterialID = Materials.MaterialID")

Entrambi hanno avuto lo stesso risultato: la casella di text finirebbe con #Name? in esso e non fare nulla.

Come posso fare questo lavoro?

AGGIORNARE

Le properties; del module Proprietà del modulo Le properties; del controllo immettere qui la descrizione dell'immagine

Sono stato in grado di ricreare la #Name? stai vedendo. Sembra che sia solo un problema di istruzione SQL nel modo in cui hai chiamato i dati.

Per correggerlo, wherevo fare quanto segue;

  1. Per la Source FORM FORM colloca questo SQL; SELECT Materials.*, MaterialCosting.* FROM Materials INNER JOIN MaterialCosting ON Materials.MaterialID = MaterialCosting.MaterialID;
  2. Ora è ansible select outerCarton dal outerCarton discesa per la Source di record del field di text.
  3. Passare alla visualizzazione forma e vedere se è ansible select i record e modificare il valore.

Fammi sapere come funziona.