Dlookup

●商品コードが文字型なら
[商品名] = DLookup("[商品名]","商品マスタテーブル","[商品コード]='" & Me!商品コード & "'")

●商品コードが数字型なら
[商品名] = DLookup("[商品名]","商品マスタテーブル","[商品コード]=" & Me!商品コード)

フォームに[商品番号] というテキスト ボックスがあるとします。
[商品番号] の値に基づいて [商品] テーブルから [商品名] を参照する場合は、
別のテキスト ボックスを作成し、その "ControlSource/コントロールソース" プロパティに式を設定します。

商品番号がブランクの場合DLookupの値はnull なのでフォームではエラー表示します
これをさけるには 
=IIf(IsNull([商品番号]),"",DLookUp("[商品名]","商品","[商品番号] = " & [商品番号]))

テーブル商品のフィールドの商品番号が数字の場合
=DLookup("[商品名]", "商品", "[商品番号] = "& Forms![フォーム名]!商品番号)
=DLookup("[商品名]", "商品", "[商品番号] = "& [商品番号])

テーブル商品のフィールドの商品番号が文字の場合は ’が必要
DLookup("商品名", "商品", "商品番号 ='" & aaa & "'") 
DLookup("商品名", "商品", "商品番号 ='" & Me.商品番号 & "'") 
DLookup("[商品名]", "商品", "[商品番号] = '" & Forms![フォーム名]!商品番号 & "'") 

公式 DLookup(expr, domain, [criteria]) 
解説DLookup 関数は、引数 criteria で指定した情報に基づいてフィールド値を 1 つ返します。
引数 criteria は省略可能です。
criteria に適合するレコードがないときや、domain にレコードが含まれないときは、DLookup 関数は Null 値を返します。
抽出条件を満たすレコードが複数見つかった場合、DLookup 関数は最初のレコードのフィールド値を返します。

少しでも違うとエラーになります
こういった関数使えるようになると上級者です

aaa = Dcount("[番号]", "クエリ名")
aaa = Dmax("[番号]", "テスト")
aaa  = Dmin("[運送料]", "受注", "[出荷先都道府県] = '愛知県'"
aaa = Dfirst("[コード]", "テスト")
aaa = Dsum("[運送料]", "受注", "[出荷先都道府県] = '愛知県'")
aaa  = Davg("[運送料]", "受注", "[出荷先都道府県] = '愛知県'")
aaa = Dlookup("[商品名]", "商品", "[商品コード] ="Forms![受注明細]!商品コード)