質問: Access2016で質問です。 下記のようなテーブルを作成しました。これに数値をフォームで入力して請求書にしたいと思っ ています。
回答: 気になる事 1つのテーブルに2つの主キーは設定できません。 「受注テーブル」に「顧客コード」がありません。 この「顧客別単価テーブル」の設計形式では、顧客数×商品数のテーブルが必要になり、更に顧客や商品を追加した時の「顧客別単価テーブル」の更新に注意が必要になる場合があります。 と言う事は別にして、フォーム上に「顧客コード」と「商品コード」と「単価」のテキストボックスがある場合です。 また、「顧客別単価テーブル」の「商品コード」と「顧客コード」が数値型の場合です。 「サブフォーム」の記述が無いので1フォーム内の場合です。 (「顧客コード」と「商品コード」と「単価」が同一のフォーム上) フォーム上の単価のフィールドの[コントロールソース]を下記にしてください。 =DLookUp("顧客別単価","顧客別単価テーブル","([顧客コード]=" & Nz([顧客コード],0) & ")and([商品コード]=" & Nz([商品コード],0) & ")") または、「単価」を非連結にして、フォームのVBA部に下をコピーしてください。 Private Sub 顧客コード_AfterUpdate() 単価表示 End Sub Private Sub 商品コード_AfterUpdate() 単価表示 End Sub Sub 単価表示() [単価] = DLookup("顧客別単価", "顧客別単価テーブル", "([顧客コード]=" & Nz([顧客コード], 0) & ")and([商品コード]=" & Nz([商品コード], 0) & ")") End Sub