アクセス2007で在庫管理を求める方法

このQ&Aのポイント
  • アクセス2007を初心者が扱う際の在庫管理について教えてください
  • フォームを開いた時に在庫のみを表示する方法を教えてください
  • 例えば、入荷と出荷のデータを持つ在庫管理表で、残っている商品のみをフォームで表示させたい
回答を見る
  • ベストアンサー

教えてアクセス2007!「在庫管理を求める方法」

教えてアクセス2007!「在庫管理を求める方法」 アクセス2007を扱うのは初心者ですが在庫管理のデーターを作っていて フォームを開いた時に商品の在庫だけが表示される方法を教えて下さい たとえば 入荷              出荷 商品  日付 入荷数      商品   日付  出荷数 りんご 5/1  10     りんご  5/10  10 いちご 5/5  10     ばなな  5/15  10 ばなな 5/10 10     みかん  5/16  10 みかん 5/11 10 メロン 5/13 10 この場合、いちごとメロンが残ってます フォームを開いた時、残ってる商品だけを表示させたいのですが どうしたら良いでしょうか?教えて下さい。  

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

在庫の確認フォームはできましたか。 もしまだならば、以下の方法を試してみてください。 テーブル名はT入荷、T出荷とします。 質問のテーブルです。 クエリを二つ作ります。長いSQL文があります。 コピーし、張り付けるときに気をつけてください。 (1) 本来は商品リストというものがあるのでしょうが、 この場合は入荷したものを元に商品名の名寄せ をします。Q入荷商品リスト、という名前にします。 Q入荷商品リスト: SELECT T入荷.商品 FROM T入荷 GROUP BY T入荷.商品; (2) 在庫数が0以上のものを取り出すクエリです。 少し長いSQL文です。Q在庫、という名前にします。 Q在庫: SELECT Q入荷商品リスト.商品, Sum(T入荷.入荷数) AS 入荷数の合計, Sum(T出荷.出荷数) AS 出荷数の合計, Sum(Nz([T入荷]![入荷数]))-Sum(Nz([T出荷]![出荷数])) AS 在庫数 FROM (Q入荷商品リスト LEFT JOIN T入荷 ON Q入荷商品リスト.商品 = T入荷.商品) LEFT JOIN T出荷 ON Q入荷商品リスト.商品 = T出荷.商品 GROUP BY Q入荷商品リスト.商品 HAVING (((Sum(Nz([T入荷]![入荷数]))-Sum(Nz([T出荷]![出荷数])))>0)); 以上、二つのクエリのSQL文を新しいクエリの SQLビューに貼り付けそれぞれの名前で登録し、 保存してください。Q在庫は長いので画面上 で途中で改行されているものがあるかも しれません。 次に、フォームの新規作成をクリックし、 もとになるテーブルまたはクエリの選択で、 Q在庫を選択し、オートフォーム表形式を 選択し、OKとしてください。 これでできあがりです。SQL文の貼り付けと保存、 フォームの作成は慣れてこられたと思います ので、少し簡略しています。 なお、フォームの標題はこのままではQ在庫と 表示されるので、フォームをデザインビュー で開き、フォームのプロパティシートを 表示し、すべてを選択し、その中の標題の 項を在庫とし、保存すればフォームを開いた ときフォームの標題が在庫と表示されます。 また、クエリのQ在庫をデザインビューで 表示し、Q入荷商品リスト、T入荷、T出荷 のテーブルがどのように結合されているか デザインビューのテーブルを少し動かして 確認してみてください。閉じるときに 保存しますか、という表示がでますが、 「はい」でも「いいえ」でもどちらでも かまいません。 話が少しずれますが、本来は、商品名を直接、入荷テーブルや 出荷テーブルに書き込むのではなく、商品テーブルに すべての商品を一旦登録し、それぞれに 登録番号(商品ID)をつけ管理します。 その番号で入荷、出荷、その他の業務において 一意に商品を指定します。そのためには フォームで番号だけで商品を特定する 仕組みを作る必要があります。商品名が、 「北海道生まれで宮崎育ちの完熟メロン」 というような商品名ばかりだとどうしようも ありませんからね。間違う可能性もあり、 上記のクエリでも間違った記入には対応できません。 商品番号での対応ができれば、誤記入を防ぐ 方策を講じておくことでいらない心配がなくなります。 上記のクエリも商品番号で対応できます。 以上です。何かあれば書き込んでください。

107ravu
質問者

お礼

いつもありがとうございます 大変参考になりました! 土日が仕事休みの為、今確認したところ出来ました!!! お礼、遅くなって申し訳ありません これからも宜しくお願いしす。

その他の回答 (4)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.5

入荷数の合計、出荷数の合計 を出す必要がないなら、以下のクエリ を追加作成し、このクエリでフォームを 作成してください。 Q在庫確認: SELECT Q在庫.商品, Q在庫.在庫数 FROM Q在庫; でフォームを作ってください。 追加ですが、この方式はあくまでもこの場合 に即しています。というのも、入荷数の合計、 出荷数の合計はそれぞれ長い間に膨大な 数になります。したがって、本来はどこかで 区切りをいれなければなりません。一つの 商品が100万個、1000万個の単位で入ってくると そのうちにコンピュータが正確な数値を 出せなくなる可能性があります。 少し例が極端でしたが、そのために棚卸を行い、 期首在庫数などの形で在庫数を一定の期間で 特定し、その数値を商品テーブルの各品目に データとして持たせ、その数値を起点に現在 の在庫数を計算します。これだと入荷数の 合計、出荷数の合計を小さい数値で出せます。 つまり、 在庫数=期首在庫数+期間入荷数-期間出荷数 で出します。期首在庫の数値を持たせる理由は 保守、税務、経営その他の重要なことが本来の 理由です。 以上です。

107ravu
質問者

お礼

ありがとうございます とても参考になりました! また宜しくお願いしす

  • riveron77
  • ベストアンサー率48% (180/370)
回答No.3

↓こんなクエリを作って、URLを参考にしながら、Formを作ってみるといいのでは? SELECT Q_在庫_0あり.商品, Q_在庫_0あり.入荷日, Q_在庫_0あり.入荷, Q_在庫_0あり.出荷日, Q_在庫_0あり.出荷, Q_在庫_0あり.在庫 FROM [SELECT T_入荷.商品, T_入荷.日付 AS 入荷日, T_入荷.入荷数 AS 入荷, T_出荷.日付 AS 出荷日, IIf([出荷数] Is Null,0,[出荷数]) AS 出荷, [入荷]-[出荷] AS 在庫 FROM T_入荷 LEFT JOIN T_出荷 ON T_入荷.商品 = T_出荷.商品]. AS Q_在庫_0あり WHERE (((Q_在庫_0あり.在庫)>0));

参考URL:
http://jsajax.com/AccessTech2/Chapter4/118.aspx
107ravu
質問者

お礼

ありがとうございます。 とても参考になりました!

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

Sheet1に、以下のような入荷データを記載し、D2セルに、 =C2-VLOOKUP(A2,Sheet2!A:C,3,FALSE) と記載して、D2セルを、D6セルまで、下にドラッグコピーし、 未出荷数の列で、オートフィルタ機能を使って、0以外を表示させて下さい。 入荷商品 入荷日付 入荷数 未出荷数 りんご 2010/05/01 10 0 いちご 2010/05/05 10 #N/A ばなな 2010/05/10 10 0 みかん 2010/05/11 10 0 メロン 2010/05/13 10 #N/A Sheet2に、以下のような出荷データを記載して下さい。 出荷商品 出荷日付 出荷数 りんご 2010/05/10 10 ばなな 2010/05/15 10 みかん 2010/05/16 10

107ravu
質問者

お礼

ありがとうございます。 とても参考になりました!

  • root_16
  • ベストアンサー率32% (674/2096)
回答No.1

商品テーブルに、商品ごとの期初数量 (前期最後の棚卸数量)を作って 入荷数量を足し、出荷数量を引いて 数量を出すクエリを作り、抽出条件で 0より大きいとして適当に作ったフォームに 表示させればいいと思います。

107ravu
質問者

お礼

ありがとうございます。 とても参考になりました!

関連するQ&A

  • accessで困っています

    access2000で、簡単な在庫管理ソフトを作っています。 商品マスタ(商品No、商品名、在庫初期値) 入荷マスタ(日付、商品名、入荷数) 出荷マスタ(出荷履歴No、日付、得意先名、商品名、出荷数) をテーブルに設け、商品を出荷入力すれば、初期値ー出荷数+入荷数をクエリ上で計算し、在庫数とし表示させています。 これに、出荷入力をしてそれを納品書として印刷させます。当たり前ですが、1商品出荷につき1枚の納品書しか印刷されません。 商品マスタに、商品名2や商品名3を設け、1枚に3種類まで印刷させようとすると、在庫計算方法がよく分からなくなります。 初心者で、どの様に作っていけば良いのかわかりません。 皆様のお知恵をお貸しいただけますでしょうか。 宜しくお願い致します。

  • Excelで在庫管理

    Excel2007 or 2010 で質問です。 Accessはまったく無理です。 添付した画像の上の表から、下の日付ごとに仕入れた商品や種類仕入数などの在庫を計算したいと思います。 5月10日にりんご 6グラム 種類は2B 箱の大きさ30 仕入を50とします。 これは、出荷もしなければいけないのですが、出荷はその日とは限りません。 5月13日に20個だけ出荷する場合もあります。 例えば5月13日に20個出荷すると残りは30個になりますが、これは「りんご 6グラム 種類は2B 箱の大きさ30」が30個になったとしたいです。 いわゆる、りんごが30個になったというわけではなく、このパターンのものが30個になったと判断したいです。 この表にどんなものを追加し、どのように日付で管理すればいいのか教えてください。

  • 在庫の管理方法

    ネットで商品の販売をしている小売業です。 在庫管理について悩んでいます。お助けください。 まず、アパレル関係の販売なんですが、小さな会社ですので、仕入れが1着、2着・・・と少量で、種類が多種になります。 一度の仕入れで、約50種類100~150着を仕入れております。 また、売れ筋の商品は10着単位で追加注文しますが、あまり売れない商品は、追加注文しません。 季節や時期により、新しい商品が発売されれば新たに仕入れをしますので、商品数はどんどん増えていきます。 こういった状況の場合、どういった在庫管理を行えば簡単に処理ができるのでしょうか? 現在は、1商品に対して管理票1枚作成しております 日時  出荷  入荷  残   5/1       10  10 5/2   3       7 ・ ・ という感じでしておりますが、入荷が1の商品に対しても、このやり方なので、 日時  出荷  入荷  残   5/1       1   1 5/2   1       0 で終わってしまいます。 何かいい方法はないでしょうか。

  • ファイルメーカーPro5で在庫の管理をしたいのですが・・・

    ファイルメーカーproで在庫管理をしたいと思っています。 商品名と数量と区分みたいなもので、月別に管理したいので前月残(月末の棚卸の数)をまず始めに入れておいて毎日出荷があった場合と入荷があった場合は新しいレコードに入力して管理していこうと思っています。それを毎日在庫が見れるようにしたいのです。前月残に入荷があった場合は+(プラス)して。出荷があった場合は-(マイナス)して商品別に日々の在庫が一覧で出てくるようにしたいです。 欲を言えば、画面上で商品別に前日残と当日入荷数と当日出荷数が出てくれば尚良いです。        商品名        前日残  本日入荷  本日出荷  在庫 例えば リップスティック●●●    3     1      1    3 どのように管理したら良いですか?計算式で組みこむのが良いと思いますがいまいち思いつきません。 宜しくお願いします。画期的なものを作りたいです。

  • accessで在庫管理

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

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

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

  • Access 出荷管理簿を作りたいのですが

    Accessで出荷管理簿を作りたいです。 出荷管理だけでなく、出荷先の在庫も管理できるよう、出荷計も出るようにしたいのです。 【とりあえず作ってみたテーブル(マスタ)】 ・取引先M ・商品M ・出庫M(商品名を一個ずつ選び、出庫数を手入力するもの) 【状況】 ・取引先は複数 ・同時期に全取引先に対して新商品の出庫が行われる。 ・ランダムな時期に取引先別に追加出庫も行われる。 ・回収もある。 ・現在はExcelで管理している。(縦:商品名、横:日付、クロス部:出荷数)を取引先別にシート分けし、各集計数(現出荷計)だけを参照させた在庫管理シートもある状態です。 このExcelをAccess化したいのです。 通常の在庫管理システムとしてよく紹介されているようなものでも管理できるのですが、一度に出庫される数が100を超える場合も多々あるので、 普通の在庫管理簿のように、一つ一つ、商品名と取引先を選んで出庫情報を入力をしていくような事をすると使いにくいのです。 今あるExcelをそのままAccessにすることはできるでしょうか。 なお、出荷計については、集計クエリで見ればいいと思っています。 言葉が足りず申し訳ありませんが お分かりになる方がいたらお教えください。

  • ACCESSの空白をカウントする

    こんにちはAccessについて教えて下さい。 素人です宜しくおねがいします。 日付のデータが入るテーブルがあります。 この日付は物品の出荷の日にちと入荷の日にちを示しています。 入荷したら入荷日に日付を入れ、出荷したら出荷日に日付を 入れます。 在庫管理のため入荷日が入っているけれど出荷日を入力していない空白せるの数をVBAかクエリかWhere条件式でカウントしたいです。 調べたところクエリの集計のカウントでは空白セルをのぞいた数を数えてしまうようです。 ですから、Is Nullでも””””でも集計できなかったです。 どうすればよろしいでしょうかどうぞ宜しくお願いします。

  • エクセル2007での在庫管理について

    多品番の在庫数を週2,3回のペースで確認したく、入荷数-出荷数=在庫数で関数を設定後入力し、翌日の出荷数(翌日だけの出荷数)を前日と同じ出荷数のセルに入力した時に前日分+翌日分を加算して入荷数からマイナスすることはできるのでしょうか?

  • ACCESSでの重複箇所

    accessで以下の様なデータがあります 受注番号|商品名|個数|単価|送料|手数料| 1111 |みかん|3 |200 |500 |0 | 2222 |りんご|2 |250 |500 |250 | 2222 |いちご|4 |200 |500 |250 | 2222 |メロン|1 |1000|500 |250 | 3333 |ぶどう|2 |800 |500 |0 | 4444 |いちご|2 |200 |500 |250 | 4444 |メロン|1 |1000|500 |250 | 2222や4444の様に受注番号が同じ場合 2222 |りんご|2 |250 |500 |250 | 2222 |いちご|4 |200 |0 |0 | 2222 |メロン|1 |1000|0 |0 | 4444 |いちご|2 |200 |500 |250 | 4444 |メロン|1 |1000|0 |0 | と、先頭にだけ送料・手数料を残して残りを【0】もしくは 削除する方法はありますか? 手作業では件数が多い為、クエリなど使って自動的に する方法があれば教えてください。 どうぞよろしくお願い致します。