Access2003初心者のための在庫管理のレポート作成方法

このQ&Aのポイント
  • Access2003初心者の方が50商品の在庫管理をする場合に、受注テーブルに存在しない商品も含めてレポートを作成する方法を教えてください。
  • 受注テーブルには受注があった商品のデータしか存在しておらず、レポートではすべての商品を表示したいため、元となるクエリを作成できません。
  • データが存在しない商品に対して自動で日付を入力し、個数を0にする方法を教えてください。
回答を見る
  • ベストアンサー

access2003初心者です。50商品の在庫管理をしています。

access2003初心者です。50商品の在庫管理をしています。 作成したのは ・商品テーブル(商品コード、商品名) ・受注テーブル(日付、商品コード、個数) です。 受注テーブルには受注があった商品のデータしか入力していません。 しかしレポートでは、すべての商品を並べて 「受注がない商品については、数量を0」 としてレポートを作成したいと考えています。 レポートを作成するには、「元となるテーブルやクエリが必要になってくる」と本に書いてあったのですが、 この元となるクエリを作成することができません。 作成したいクエリは次のとおりです。   日付   商品 個数 2008/04/01 商品01 2 2008/04/01 商品02 0←このデータ(日付、商品、個数)は受注テーブルにはありません。以下同じ。 ・ ・ ・ ・ ・ ・ 2008/04/01 商品50 2 2008/04/02 商品01 1←ここから日付が翌日になります。 2008/04/02 商品02 1 ・ ・ ・ ・ ・ ・ 2008/04/02 商品50 0 2008/04/03 商品01 2←ここから日付が翌々日になります。 2008/04/03 商品02 2 ・ ・ ・ ・ ・ ・ データがないものに対して、 自動で日付を入力したり、個数を0にしたりしたいのですが、 どのような抽出条件またはSQLなどを書いたらいいのかわかりません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

レコードにないものも全て表示させたいという時には 全てあるレコードと表示させたいものを外部結合させます 質問の場合日付と商品コードの全組み合わせが必要です 全商品は商品テーブルにあるでしょうから 受注テーブルから日付を重複無しに取り出すクエリを作り これと商品テーブルをクエリデザインビューに取り込み 結合しないで 商品コードと日付を取り出せば 日付と商品コードの全組み合わせができます この全組み合わせクエリと受注テーブルをクエリデザインビューに取り込み 日付同士、商品コード同士を結合し 結合の種類を[全組み合わせクエリの全レコードを・・・]にします 日付や商品コードをクエリのほうから取り出せばお望みのものができます

harukaruka
質問者

お礼

ありがとうございます。 希望通りのものができました。

関連するQ&A

  • access2003初心者です。30程の商品の在庫管理をしたいと考えています。

    access2003初心者です。 30程の商品の在庫管理をしたいと考えています。 以下のテーブルがあります。 <商品テーブル>商品コード、商品名 <商品生産テーブル>生産日、商品名、生産数量 <商品出荷テーブル>出荷日、商品名、出荷数量 <繰越テーブル>繰越日、商品名、繰越数量 *作成したいクエリ*  まず、日付を入力するパラメータ入力ダイアログボックスを表示  その日付のデータを抽出して計算をさせたい  表示させたいフィールドは以下のとおりです。 <商品名>:すべての商品を表示(繰越・生産・出荷数量がすべて0でも表示) <繰越数量>:前月末の数量を表示(月末が日曜日の場合はその前日)        パラメータで入力した日付が2008/04/01でも2008/04/05でも繰越数量は前月末の数量を表示 <生産数量>:パラメータで入力した日付の生産数量 <生産数量累計>:パラメータで入力した日付の月の1日から入力した日付までの生産数量の合計 <出荷数量>:パラメータで入力した日付の出荷数量 <出荷数量累計>:パラメータで入力した日付の月の1日から入力した日付までの出荷数量の合計 <残高>:<繰越数量>+<生産数量累計>-<出荷数量累計> これを元にレポートを作成したいと考えています。 よろしくお願いします。

  • Accessで倉庫管理

    お世話になります。 現在Accessで在庫管理作成中です。 テーブル: 入庫:品番 品名 グループ 数量 使用者 日付 出庫:品番 品名 グループ 数量 使用者 使用状態 日付 グループ:1 消耗品        2 道具       3 機械 クエリ 消耗品在庫:入庫(消耗品)-出庫(消耗品) フォーム: 入庫フォーム、在庫フォームと出庫フォームを作成しました。 在庫フォームはクエリの元で作成しました。 以上のように作りました。 やりたいことは出庫フォームを入力する時、消耗品なら、数量を入力して、一旦在庫を確認して出したい数は在庫があれば、入力できます。そうではない場合はエラーでます。 言葉がうまく説明できないですのでイメージとしては Select Case グループID Case 1 If 数量<「在庫フォーム」の数量 Then  そのまま入力出来ます。在庫が減って行きます。 Else エアー Message box”在庫は足りません” こんな感じでコードに書き換えられますか?コードが弱いですので助けて下さい。 よろしくお願いします。  

  • Accessのクエリ集計について

    Accessのクエリ集計について kamuycikapです。 テーブルを集計するクエリについて悩んでいます。 以下がテーブルの状況と試行錯誤しているクエリ。 そして実行結果の箇条書きです。 非常に長文ですが、識者の方のアドバイスをお願い致します。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD 納品書コード ーー> 納品書コード ーー> 納品書コード  ーー> 納品書コード 仕入数          商品コード  ーー> 商品コード   ーー> 商品コード                               商品連番    ーー> 商品連番                               出品数量        出品連番                               商品名           発送個数                               色             発送日付                               サイズ                               売値 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示されず、テーブルDに紐つけられたレコードのみが表示されるため、約300件のデータではなく、テーブルDに入力されている20件しか表示されない。 --ここまで 目的は、テーブルCのデータを全て表示し、発送情報がテーブルDに入力されているデータについては演算結果を表示する事です。 現状では、テーブルDのデータしかテーブルCのレコードが表示されません。。。。 どうすれば目的のデータを収集できるクエリが作成で切るのか、識者の方のアドバイスをお願いします。

  • Accessで在庫管理する時の在庫数の出し方

    在庫管理をaccessで行おうとしています。 在庫数の出し方が分かりません。 =DLookUp("[在庫数]","[T_発注]","助成物コード='" & [Forms]![F_受注]![助成物コード] & "'")-nz([数量]) とすると、それらしい数は表示されるのですが、次のレコードで同じ商品(助成物コード)を指定すると、前のレコードの在庫と同じ数になってしまいます。 =DLookUp("[在庫数]","[T_発注]","助成物コード='" & [Forms]![F_受注]![助成物コード] & "'")-nz([数量]) した結果を次の『=DLookUp("[在庫数]"』の在庫数に引き継いでもらいたいのですが、どうすれば良いか分かりません。 上記で『助成物コード』が商品コードで、 『数量』が受注数です。 他にどんな情報があれば良いか分かりませんので、不足している情報があればご指摘下さい。

  • Accessのクエリによる集計が出来ない

    Accessのクエリによる集計が出来ない kamuycikapです。 OKWaveで様々な方のアドバイスを頂きながら、慣れないAccessと悪戦苦闘しております。 一昨日、計算したい表を作成する為にOKWaveに質問を載せました。 http://okwave.jp/qa/q5549286.html 無事に上記のアドバイスでリレーションのオプション設定を行い、集計計算したいクエリの結果を表示することが出来ました。 その表を元にして 下記の質問でアドバイス頂いた方法による集計を行おうとしたのですが、集計出来なくて困っています。 http://okwave.jp/qa/q5544785.html データベースの構成とキーは以下のとおりです。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 Kがキーになります。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD K納品書コード --> K納品書コード --> K納品書コード  --> K納品書コード 仕入数          K商品コード  --> K商品コード   --> K商品コード                             K商品連番    --> K商品連番                             出品数量        K出品連番                             商品名           発送個数                             色             発送日付                             サイズ                             売値 ※テーブルCからテーブルDへのリレーションオプションを「’テーブルC’の全レコードと’テーブルD’の同じ 結合フィールドのレコードだけを含める。」としています。 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示され、テーブルDに紐つけられたレコードも表示されるが、テーブルDに入力されている20件のデータが商品連番(テーブルCのフィールド)ごとに集計されない。 --ここまで <目的> お店に出品された商品は、日を分けて少しずつ売れていきます。(一日で全部売れることもありますが....) 従って、出品された商品(テーブルCのデータ)に対して売れていく数(テーブルDの複数のレコード)のデータがぶら下がっている形になります。 このようなデータベースですので、出品した商品が何個売れたかを計算する為には、商品に対する売れた個数を集計(合計)しなければなりません。 <結果> テーブルCの商品連番ごとの発送個数を集計したいのですが、テーブルDの出品連番ごとの集計になっている様子です。 <頂きたいアドバイス> 上記のデータベースとクエリで、テーブルCの商品連番に紐ついたテーブルDに格納されている発送個数の合計値を集計するための方法 以上、識者の方のアドバイスをお願い致します。

  • Accessで在庫管理をする際の日付の扱いについて

    いつも大変お世話になっております。m(_ _)m Accessで新規データベースを作成している最中です。 テーブルの作りを簡単に説明すると、 (1)「入庫受付」テーブルがあって、そこには、製品名・数量・入庫受付日等の情報が入っています。 (2)「出庫処理」テーブルがあって、そこにも、製品名・数量・出庫受付日等の情報が入っています。 この2つのテーブルを、期間を指定して、「在庫表」として出力する必要があります。 たとえば、当月のデータを見たい場合は、「10月度_在庫表」として、(1)の数量はプラス・(2)の数量はマイナスで、差引きの残(在庫数)を表示します。 このような目的でテーブルを作る場合に、ご相談なんですが、(1)(2)とも「日付」を入れるフィールドは「日付/時刻型」がいいのでしょうか? 期間を指定して数量を表示したい場合などは、この欄が「テキスト型」だとうまくいかないのでしょうか? なぜ、このような質問をするかというと、「日付/時刻型」にしておくと例えば「2006/10/30」という情報を入力したいときに、定型入力が使えませんよね?定型入力に「0000\/00\/00」と指定しておいて、日付は数字だけを入力すればいいようにしたいのですが、うまくいきません。 入力の簡単さを考えると「テキスト型」にしたいのですが、後々のことを考えると、たとえ入力が面倒でも「日付/時刻型」に設定しておくべきなのでしょうか? 回答をよろしくお願いします。

  • ACCESS 受注数の集計について

    教えてほしいことがあります。 宜しくお願いします。 「受注履歴」というテーブルがありまして、このようなレイアウトになっています。 受注日   商品コード 受注数量 2009/11/01  95555    10 2009/11/22  95555    5 2009/12/01  95555    10 フィールドの受注日の形式は日付で商品コードはテキスト形式、数量は数値形式です。 そしてもう一つ以下のような「受注残」というテーブルがあり、上記テーブルの受注日からさか上った1ヶ月前の日と出荷できていない受注残数などのテーブルが以下のようにあります。 受注日の1ヶ月前の日   受注日   商品コード 受注残数 2009/10/02        2009/11/01  95555    3 2009/10/23        2010/11/22  95555    2 2010/11/02        2010/12/01  95555    4 この各レコードは受注した時に在庫がなかったため、出荷できなかった数量のリストなんです。(受注日の1ヶ月間の日というフィールドは、「受注日」-30日で追加したフィールドです。) そこで、受注日からさかのぼった1ヶ月間の受注数を調べたい、そして在庫計画の参考にしたいというのが目的なんです。 例えば2009/11/22に商品95555は5個受注していますが、 (テーブル受注履歴より) その日に出荷できなかった数量は2個でした。 (テーブル受注残より) そこで、この2009/11/22から以前の1ヶ月間にどれ位受注しているのか、これを出したいのです。これを[受注履歴]を見てみますと、2009/11/1に10個と2009/11/22の5個で合計15個となるのですが、この値を「受注残」のレコードの右側にでも表示できたら便利だなあと色々とクエリでやってはみたものの、ACCESS歴2ヶ月位の私は挫折・・。 書いていることが伝われば良いのですが。 どなたか良い方法をご存知でしたら教えていただきたく、お願いします。

  • ACCESSで在庫管理 備考欄の組み込み方?

    ACCESSで在庫管理を始めました。 なんとか在庫管理だけはできるようになりましたが、 備考欄を設けたら、備考を入れたものは数が別でカウントされるように なってしまいました。 今の在庫管理の状態は <テーブル> ・商品ベース(商品ID、商品名が入っている) ・入出庫明細 <フォーム> ・入荷票(入出庫明細テーブルに入力される) ・出荷票(入出庫明細テーブルに入力される) <クエリ> ・在庫表 ・要発注表(在庫が1以下のものだけ表示する設定) <レポート> ・在庫表(クエリの在庫表のレポート) ・要発注表(クエリの要発注表のレポート) という感じです。 フォームに商品IDを入れると、自動で商品名が表示されるようにしており(DLOOKUP)、 その下に入庫や出庫数を入力する欄、最後に備考入力欄を設けています。 たとえば、返品によって在庫が1つ増えたときに「返品」などというふうに 備考を入れたいのですが、そうすると在庫表や要発注表で 備考情報なしの物は今までの入出庫明細の合計で1行に在庫数が ずばっと出ますが、備考を入れた物はその下に同じ商品IDで 数行に出ます。 (結局最後はそれを手で計算する) 本当は、1行におさめて、備考欄を大きめにとって、そこに備考は どんどん追加されるような感じにしたいのですが、可能でしょうか? 質問の仕方も下手ですみません。 補足要求してください。宜しくお願い致します。

  • データベースで在庫管理したい。

    データーベースの質問です。 現在アクセス2000を使って、商品の簡単な在庫表を作りたいと思っています。 最終的な表示形式では、商品種類・商品名・在庫数・単価・合計金額・在庫場所 を表示できるように作成したいと考えているのです、アクセスから離れてかなり時間がたっているため、かなり序盤からつまずいております(笑) 現時点では「商品種類テーブル」「商品名テーブル」「在庫場所テーブル」を作っておりまして、今クエリの場所に「在庫*数量」を表示させたいのですが、どうやって作れば良いのかわかりません。 また、全体的な考え方もこれでいいものかどうか・・・。 どなたかアクセスで在庫管理なんかをしている方がいらっしゃいましたら、ノウハウを教えていただけると光栄です。 宜しくお願いします。

  • accessで在庫管理

    こんにちは。 accessで商品(部品)の在庫管理をすることになりました。 1)商品情報(型番・部品名・仕入元など)の基本情報の入ったテーブルを作り 2)型番をキーにして出荷入荷の記録をつけ(仕入日・出荷日・数量・出荷先など)て行きたいとおもっています。 今在庫がいくつあるのか確認しつつ入力したい関係で、例えば型番を抽出条件にすると今までのレコードが一覧で見れて、(上部に部品に関する1)の情報が見れて)一番下に新しいレコードして追加入力をすることができるような形にしたいのですが、 どのようなテーブル形式、リレーションシップをとったらよろしいでしょうか? 参考になる本が見当たらず困っています。 よろしくお願いします。

専門家に質問してみよう