質問: 納品書を元に仕入帳を作ってみたいと思うのですが テーブルとフォームは何となくわかったのですがクエリーでつまずいてしまいました 例 納品書 月日 A商店 伝票ナンバー 商品コード 品名 金額 入数 単価 数量 金額 売値 これを元に仕入帳を作りたいと思います 仕入帳 A商店、B商店、C商店に分けて 品名 金額 数量 単価 金額が出るように 又納品書は商品コードを入れただけで品名、金額、入数、単価が出るようにしたいのですが 納品書はテーブル、フォームは作りました 商品マスタも作りました
回答: [納品書]テーブルに、[商品コード]、[数量]、[単価]、[金額]フィールドがあって、 商品マスタ]テーブルに[商品コード、[商品名]、[標準単価]、[入数]フィールドがあるものとします。 (↑ご質問を見た感じ、[納品書] テーブルに [品名] フィールドや、[入数] フィールドがあるように思えるんですが、これらのフィールドは、(普通は)[納品書] テーブルには置かない方がいいです。) で、商品名等を自動で入力する方法ですが、#1でtomokaさんがお書きになられた方法でも可能ですが、コンボボックスを使ったやり方でもOKです。 1:仕入帳のフォームに、コンボボックスを3つ配置します。 2:それぞれの名前を、[商品コード],[商品名],[入数]とする。 3:それぞれの「プロパティ」を以下のように設定する [コントロールソース]:商品コード [値集合タイプ]:テーブル/クエリ [連結列]:1 4:「商品コード」の[値集合ソース]プロパティをクリックし、右端の[...]をクリック 5:クエリの作成画面が出てくるので、「商品マスタ」テーブルから、[商品コード]、[商品名]、[標準単価]フィールドを、フィールド欄にドラッグ 6:同様に「商品名」コンボボックスの、[値集合ソース]に[商品コード]、[商品名]を設定 7:同様に「入数」に[商品コード]、[入数]を設定 8:「商品コード」コンボボックスの[列数]プロパティを「3」、[列幅]を「2,4,2」に設定 9:「商品名」と「入数」コンボボックスの[列数]を「2」、[列幅]を「0,4」に設定 ****ここまでで、商品名と入数の自動入力が完了**** 10:仕入帳フォームに、テキストボックスを配置し、名前を[単価]にする。 11:「単価」に以下のプロパティを設定 [コントロールソース]:単価 12:「商品コード」コンボボックスの[更新後処理]プロパティをクリックし、右側の[...]をクリック 13:以下のように入力する。(「Private Sub...」 や、「End Sub」は最初から入力されている) Private Sub 商品コード_AfterUpdate() Me.単価 = Me.商品コード.Column(2) End Sub 14:同様に、「商品名」、「入数」も[更新後処理]の[...]をクリックして、 Me.単価 = Me.商品コード.Column(2) と入力する 以上、これで、単価の自動入力も可能になるはずです。 なんかあったら、補足してください。