「夫を成功」へ導く妻の秘訣 座談会

(1)注文情報をCSV形式でACCESSに取込む。
(2)部品入庫データをエクセルからインポートする
 (倉庫在庫として在庫管理)
 ここで在庫は倉庫在庫として+
(3)部品が倉庫から各ラインに移動するときに、明細書を作成。
  ここで倉庫在庫は-。各ライン在庫は+。
(4)ラインごとに在庫管理
(5)製品が完成 出庫情報をエクセルからインポートここで在庫が-。

倉庫・ライン別の在庫と、会社全体にある在庫(倉庫・ラインをあわせた在庫)も表示したい。

注文情報はどの部品が納期まで必要かを在庫と照らし合わすためだけに必要なので、在庫数には直接関わってきません。

主となる在庫の+、-が未だにうまくできません。
どんなことでもいいのでアドバイスいただければありがたいです。
よろしくおねがいします

このQ&Aに関連する最新のQ&A

A 回答 (1件)

楽に管理するには


前回の質問から続けて考えれば・・
倉庫在庫テーブル:部品別の月末時点の在庫数を保存。
倉庫在庫テーブルで前月末の各部品の在庫数を持たせれば入・出庫テーブルからの抽出は当月分のみの抽出集計ですむのでレスポンスの向上を図るため。
もしくは入庫テーブルの前月末までの全てのレコードを集計し前月末在庫数とする。(レコードが増えてくると遅くなるかもしれません)
入庫テーブル:エクセルからのインポートデータ。
出庫テーブル:エクセルからのインポートデータ。
製品出庫テーブル:エクセルからのインポートデータ。
入庫1:入庫テーブルより当月分日付(前日まで)のレコードを抽出し部品でグループ化し入庫数を合計する。
入庫2:入庫テーブルより当日分のレコードを抽出し部品でグループ化し入庫数を合計する。
出庫1:出庫テーブルより当月分日付(前日まで)のレコードを抽出し部品でグループ化し出庫数を合計する。
出庫2:出庫テーブルより当日分のレコードを抽出し部品でグループ化し出庫数を合計する。
製品出庫:製品出庫テーブルを部品でグループ化し出庫数を合計する。
これらを使い現在の在庫数は
在庫数:[倉庫在庫]+Nz[入庫1]+Nz[入庫2]-Nz[出庫1]-Nz[出庫2]
で求め
ライン在庫:Nz[出庫1]+Nz[出庫2]-[製品出庫]
で求める。
会社全体にある在庫:([倉庫在庫]+Nz[入庫1]+Nz[入庫2]-Nz[出庫1]-Nz[出庫2])+(Nz[出庫1]+Nz[出庫2]-[製品出庫])
となるので
:[倉庫在庫]+Nz[入庫1]+Nz[入庫2]-[製品出庫]
と同じとなります。
大まかにはこんな感じで良いのではないでしょうか。
    • good
    • 0
この回答へのお礼

できました!!
本当にありがとうございます。
これを元にいろいろ広げていきます。
また質問させていただくと思いますがよろしくおねがいします。

お礼日時:2006/03/14 16:19

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccessで在庫管理を

在庫管理システムを作ってみたいのですが、仕入れた物を在庫に足して、販売したものを在庫からひく。こんな感じです。
テーブルとしては、商品テーブルと仕入先テーブル以外に、在庫テーブルも作らないといけないですか?
っていうかあまり仕組みがわかってないので、なにかアドバイスがあれば宜しくお願いします。

Aベストアンサー

>在庫テーブルも作らないといけないですか?
商品テーブル=商品の詳細(商品ID・仕入値・販売価格・仕入先等)
仕入先テーブル=仕入先詳細(仕入先ID・会社名・住所・電話等)
在庫テーブル=商品ID・入荷数・出荷数・日付
通常最低でも上記のテーブルは無いと在庫管理できませんよね。
出荷数は販売のDBなどから日付・商品ID・数量のレコードを持って来るとしても
在庫管理となると同一商品の仕入れが複数の仕入先からあったりしたら在庫テーブ
ルに仕入先IDも追加しなければいけなくなるし、仕入商品の不良で返品が発生した
場合は入荷数に-(マイナス)で入力する処理にするか仕入区分を作って入荷と返品など
の区分入力もするかとか色々出てきます。

一商品が一仕入先からのみという条件で仕入先への返品が発生したら入荷数のマイ
ナス入力で処理する仕様にすれば処理も簡単に済むのではないでしょうか。
在庫テーブルに販売からの日付・商品ID・数量のレコードを追加して入荷はフォー
ムを作り在庫テーブルの入荷数のフィールドに保存するようにすれば在庫テーブル
の日付で範囲を指定してレコードを抽出して商品ID別に集計すれば入荷数・出荷数
の合計が出て引けば商品の在庫数が得られるようにすれば良いと思います。

>在庫テーブルも作らないといけないですか?
商品テーブル=商品の詳細(商品ID・仕入値・販売価格・仕入先等)
仕入先テーブル=仕入先詳細(仕入先ID・会社名・住所・電話等)
在庫テーブル=商品ID・入荷数・出荷数・日付
通常最低でも上記のテーブルは無いと在庫管理できませんよね。
出荷数は販売のDBなどから日付・商品ID・数量のレコードを持って来るとしても
在庫管理となると同一商品の仕入れが複数の仕入先からあったりしたら在庫テーブ
ルに仕入先IDも追加しなければいけなくなるし、仕入商品の...続きを読む

QACCESSで在庫管理を作成するように言われたのですが・・・

入庫・出庫のデータはエクセルから日々、入出庫がある度にインポートするつもりです。
日々の在庫を表示させるにはどうすればいいでしょうか?
大まかな説明で分かりにくいとは思いますが、ACCESSで在庫管理を作成したことがある方、アドバイスいただけないでしょうか?

Aベストアンサー

s_husky です。

追加回答が付きませんね。
そこで第2弾!

Access2000、Access2002等には、テンプレートで在庫管理があります。
質問者のやろうとしていることは、自動的に作成される「在庫管理データベース」でも十分かも知れませんよ!

Q在庫管理システムについて

お願いします。
アクセスで薬品の在庫管理システムを作っています。
毎日の仕入・払出を入力するトランザクションテーブルと、薬品在庫を保持・更新するマスターテーブルに分けて管理したいのですが、次のような流れを考えています。

1.開始棚卸数量を在庫テーブル(マスター)に入力。
2.日々の仕入・返品等を仕入テーブル(トランザクション)に入力。
3.日々の払出・調整等を払出テーブル(トランザクション)に入力。
4.仕入・払出の各テーブルを更新処理して在庫テーブルの数量を更新。
5.月末の実地棚卸数量により在庫テーブルを更新。棚卸差異を分析。
6.更新後の在庫数量を翌月開始数量とする。

日々の取引量は平均して200件くらいで、薬品の種類は500種類くらいです。

アクセスのDBはよく作っていますが、こういう形(トランザクション+マスタ)は初めて作るのであまり自信がありません。

まずは、テーブル構成やフローについてアドバイスをいただけませんか?
それと、インターネットで参考になるページがあればご紹介お願いします。

Aベストアンサー

最低限のテーブルとして
*在庫テーブル
*取引先テーブル(販売先等ある場合)
*仕入先テーブル
*入出庫テーブル(仕入・払出を同一テーブルで行う場合:仕入・返品・払出・調整は区分などを使い入出庫テーブルで済ませる。)
が必要。
仕入・返品と払出・調整を別テーブルで管理するならば最低5つのテーブル。 でしょうか。
欲を言えばトランザクションで使うテーブルのバックアップテーブルと月次更新時の在庫数を年月数と共に保存する在庫バックアップテーブル。
*1ヶ月終わったらトランザクションで使うテーブルのレコードをバックアップに移し日々使用するトランザクションテーブルを軽くするため。在庫のバックアップは年月数と共に月次更新時にバックアップを取れば1薬品毎の年間推移等が簡単に把握できるレコードが出来るため。
できれば欲をだした構成にした方が後々楽だと思います。
在庫テーブルの更新は月次処理で充分。

デイリー:仕入・返品・払出・調整の発生に伴い入力する。
その際、仕入・返品・払出・調整が一つのテーブルで処理していれば同一フォームで区分等の変更により入力処理できる。(入力業務の簡易化)
日々の在庫数確認は在庫テーブルの数量とトランザクションのレコードを集計しリアルタイムに在庫数量を表示する。(トランザクションのテーブルを先の理由等で当月分処理だけのレコードにしておけば日付での抽出をしなくてすむため集計が少しでも早くなる。)
月次:トランザクションのテーブルを集計し在庫テーブルのレコードと合算し在庫テーブルの数量を更新する。更新後在庫テーブルのバックアップテーブルへ各レコードを月末の日付データと共に追加してバックアップを取り在庫テーブルは翌月開始数量となる。
こんな感じでしょうか。

#2の方が書いていますが下記にも回答してありますので参照してみてください。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=330335

最低限のテーブルとして
*在庫テーブル
*取引先テーブル(販売先等ある場合)
*仕入先テーブル
*入出庫テーブル(仕入・払出を同一テーブルで行う場合:仕入・返品・払出・調整は区分などを使い入出庫テーブルで済ませる。)
が必要。
仕入・返品と払出・調整を別テーブルで管理するならば最低5つのテーブル。 でしょうか。
欲を言えばトランザクションで使うテーブルのバックアップテーブルと月次更新時の在庫数を年月数と共に保存する在庫バックアップテーブル。
*1ヶ月終わったらトランザクションで...続きを読む

QACCESSで在庫の入出庫履歴を作成したい

先ほど別の件と共に質問させて頂きましたが、もう1度履歴の分だけ詳しく回答いただきたく、質問させて頂きました。

テーブル1→入庫日、部品名、入庫数
テーブル2→出庫日、部品名、出庫数  という2つのテーブルがあります。
1つの表で
縦列に部品名と入庫出庫の項目。
横列に日付を表示し、抽出した期間内の入出庫の履歴が表示されるように作成したいのです。

説明が下手なので分かりにくいと思いますが、よろしくおねがいします

Aベストアンサー

select "入庫" as 入出庫,部品名,入庫日 as 入出庫日, 入庫数 as 入出庫数
from T_入庫
union all
select "出庫" as 入出庫,部品名,出庫日 as 入出庫日, 出庫数 as 入出庫数
from T_出庫

こんな感じで、どうですか?

Qアクセスで在庫管理

とても初歩的なのですがどうか力を貸してください.
私は在庫管理をしたくてアクセスでデータベースを作りたいと思っているのですが、商品毎の在庫を求めるにはどのようにすれば良いのか分かりません。
 何か良い方法があったら教えてくださいお願いします。
どうぞ宜しくお願いします。

Aベストアンサー

いい本があります。
技術評論社「Visual Basic6による実践データベースプログラミング」
谷尻かおり著 ISBN4-7741-0669-2 定価\2,980(税別)です。
CD-ROMもついています。これは比較的初心者向きで、
最後に在庫管理のプログラム例が載っています。
この本はVBをベースとしてAccessを使うというものなので、
56870さんが探していらっしゃるのが、AccessベースでVBAを使う
というものでしたら、あまり参考にならないかもしれませんが。
つまりプログラミングの基礎知識、VBの基本的なことは知っている
前提で書かれた本ですから。

QエクセルVBとアクセスでの在庫管理

おはようございます。
お世話になります。

エクセルVBとアクセスでの在庫管理をしたと考えています。
この質問では仕様の詳細ではなく、もっと手前の段階の疑問を
ご教示いただきたいと思っています。

●背景
日々手作業での在庫の管理に限界を感じ、商品が売れるたびに
簡単に在庫消込を行いたいと考えているが、ネットショップには登録していない
商品も在庫管理する必要があり、ネットショップへの登録は手間が大きいし
利点がすくないので選ぶつもりがありません。
そこで、本日から一気に全在庫を数えていくつもりですが、それで固まった在庫数を
今後は売れるたびにエクセル&アクセスで管理したいと考えています。

●目的
Office2010のエクセルとアクセスを使って在庫を管理する。
実際の在庫自体はアクセスに入れておき、エクセルはコマンドボタンなどがあるので
あくまで各スタッフのユーザビリティ向上のために(簡単に行えるように)用意する。
※アクセスは日々ネットショップの商品管理に使っているのである程度の操作は
できますが、在庫消込用のVB画面のようなものを用意できるのかなどは不明な状態です。
◎質問したいこと
1.エクセルとアクセスで連動して管理することは可能ですか?
2.世の中には在庫管理用のソフトがあると思います。費用削減のために自前で
  今回のように作りたいなと思っていますが、どう思われますか?
  例)データ紛失の恐れがあるので危険やめたほうがよい
  例)非常に安価またはフリーソフトの在庫管理システムがある
  例)上記ソフトで実現するのは非常に負荷が高い
  などなど…

この質問では詳しいことは述べませんし、おおまかに実現したい機能は以下です。

商品番号、カラー、サイズを打ち込める画面的なものをエクセルに用意する。
そこにデータを打ち込むと、対象候補のレコードを検索して結果を表示する。
その中から対象のレコードを選択して、更新したい在庫数に変更する。
更新ボタンを押すとアクセス側にレコード更新に向かい、処理を完了する。

です。
プログラム経験はVB・SQLはありますが、VBAはありません。
なのでエクセル&アクセスでこの機能を実現するのがどれくらい大変かまたは簡単か
わかっていません。
この質問で「大して大変な機能ではないので作って管理してもいいんじゃない?」という回答を頂けるようなら、その機能の実装についても
別の質問を用意してアドバイス頂きたいと考えています。
アドバイス頂いた中でわからない部分についてはググったり試行錯誤したりはする覚悟がありますが、本を用意して新しい概念や知識を入れないと作れないような場合は
そこまでする時間がないので諦めようと思っています。

以上を踏まえて、ご教示いただければと思います。
(以上といっても私の知識がどの程度なのかわかりづらいと思うので
アドバイスしづらいかもしれませんが、上記の説明内容でおおまかにどれくらい
わかっていないのかは伝わったら幸いと思っています。)

よろしくお願いいたします。

おはようございます。
お世話になります。

エクセルVBとアクセスでの在庫管理をしたと考えています。
この質問では仕様の詳細ではなく、もっと手前の段階の疑問を
ご教示いただきたいと思っています。

●背景
日々手作業での在庫の管理に限界を感じ、商品が売れるたびに
簡単に在庫消込を行いたいと考えているが、ネットショップには登録していない
商品も在庫管理する必要があり、ネットショップへの登録は手間が大きいし
利点がすくないので選ぶつもりがありません。
そこで、本日から一気に全在庫を数えていく...続きを読む

Aベストアンサー

回答者の一人ですが、ソフトライブラリーからダウンロードできなかったということなので、アクセスで在庫管理のプログラムを作ってみようと思います。方針は次のものでよろしいでしょうか
1.テーブルのフィールドとしては5つ、商品番号、カラー、サイズ、在庫数、備考
2テーブルの入力は、フォームは作らず、当面テーブルに直接入力とする
3検索用フォームとクエリーをつくる。カラーとサイズを条件にして該当するレコードを抽出
4在庫数を更新するためのクエリーを作る
なお私のパソコンはOSはXP、アクセスは97です。
ほかにご希望の機能はございませんか

QAccessでコードを入れると名前がでるようにしたい

Accessで顧客コードを入れると顧客マスタ通りの名前、住所TELがフォームに自動で出て、商品コードを入れると品物名が出るようにしたいのですが。
コードと商品名のはいったテーブルとフォームは作ったのですが・・・

Aベストアンサー

はじめの手順から書きます。

顧客コードと氏名・住所・TELが入ったテーブルを作ります。(顧客マスタの事)

>コードと商品名のはいったテーブルとフォームは作ったのですが・・・

と言うことですので、商品用のテーブルはできています。

もう1つ、テーブルとテーブルのリレーション(関連性)を設定しやすいように、

オートナンバーを設定した主キー用のフィールドと、
顧客コードと、商品コードを設定したテーブルを作ると良いでしょう。(以下Cテーブルと呼びます。)

あとは、テーブルのリレーション設定を行います。


リレーションシップボタンをクリックし、
テーブルをすべて表示させます。

次に、顧客用のテーブルから顧客コードをCテーブルの顧客コードへとドラッグし、参照整合性にチェックを入れます。
そして、作成をクリックします。

同様に、商品コードの入ったテーブルから、
Cテーブルへとドラッグし、参照整合性にチェックを入れます。そして作成をクリックします。

続いて、クエリの作成に移ります。
オブジェクトをクエリに変更します。

デザインビューでクエリを作成し、
テーブルの一覧を表示させます。

一覧から、まず
Cテーブルのオートナンバーを設定したフィールドを
ダブルクリックします。
次に、Cテーブルの顧客コードをダブルクリックします。
次に、顧客マスタに入っている名前・住所・TELの順にダブルクリックしていきます。

次に、Cテーブルの商品コードをダブルクリックします。
そして、商品名をダブルクリックして
必要なフィールドの設定が完了します。

クエリは、名前をつけて保存しましょう。
(以下では、Q顧客商品と呼びます。)

できた、Q顧客商品を
ウィザードを使用してフォームを作成するから
選択して、完了。

これで、コードを入れるだけで、
テーブルから名前・住所・TEL・商品名が
自動表示されるようになります。

文章で書き並べた感がありますので、
分かりにくければ、また、ご質問ください。では。

はじめの手順から書きます。

顧客コードと氏名・住所・TELが入ったテーブルを作ります。(顧客マスタの事)

>コードと商品名のはいったテーブルとフォームは作ったのですが・・・

と言うことですので、商品用のテーブルはできています。

もう1つ、テーブルとテーブルのリレーション(関連性)を設定しやすいように、

オートナンバーを設定した主キー用のフィールドと、
顧客コードと、商品コードを設定したテーブルを作ると良いでしょう。(以下Cテーブルと呼びます。)

あとは、テーブル...続きを読む

QAccessで別テーブルの値をフォームに表示したい

初めてのAccessで分からない事があり質問させてください。

<会社テーブル>
会社ID
会社名
住所

<社員テーブル>
会社ID
社員名
ソート番号

*1社に対し複数の社員レコードが存在

以上のようなテーブルがあるとします

現在「会社テーブル」を表形式で一覧表示しています
会社ID,会社名、住所とフィールドが並んでいるのですが、その後ろに「社員テーブル」のソート番号が一番若い社員名を表示したいと考えています(現状は番号関係なく表示させる方法すら分かりません)

色々いじくりまわしたのですが、初めてAccessをさわる事もあってよくわかりません

リレーション等でひっぱってくる事ができるのでしょうか?

どなたか教えて頂けませんでしょうか

何卒よろしくお願い致します

PS.Access2013で作成中です

Aベストアンサー

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FROM 社員
ORDER BY 社員.ソート番号;

2、コントロールソースに次のように書きます。

=DLookUp("社員名","社員ソートクエリ","会社ID=" & [会社ID])

http://office.microsoft.com/ja-jp/access-help/HA001228825.aspx

DLookup()については、マイクロソフトの解説を参照されてください。

【DLookup()の限界を破るにはVBAで同じ関数を作るしかない】

マイクロソフトの解説を読めば判りますが、ORDER BY 節を指定する引数が用意されていません。ですから、どうしても、"社員ソートクエリ"を作成するという手間が必要となります。そこで、SQL文を引数とするDBLookup()をVBAで書けば、その手間を省けるという算段になります。この辺りは、好みと趣味の問題。どっちでも良いと思います。そういうお断りをした上で DBLookup()を紹介しておきます。なお、ADOは、つぎのように参照設定しないと利用できません。

http://www.happy2-island.com/access/gogo03/capter00307.shtml

Public Function DBLookup(ByVal strQuerySQL As String, _
             Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
  Dim DataValue
  Dim rst     As ADODB.Recordset

  Set rst = New ADODB.Recordset
  With rst
    .Open strQuerySQL, _
       CurrentProject.Connection, _
       adOpenStatic, _
       adLockReadOnly
    If Not .BOF Then
      .MoveFirst
      DataValue = .Fields(0)
    End If
  End With
Exit_DBLookup:
On Error Resume Next
  rst.Close
  Set rst = Nothing
  DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue)
  Exit Function
Err_DBLookup:
  MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & Err.Description & Chr$(13) & _
      "・SQL Text=" & strQuerySQL, _
      vbExclamation, " 関数エラーメッセージ"
  Resume Exit_DBLookup
End Function

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FR...続きを読む

Qアクセスで工程進捗管理ってできるのですか?

アクセス初心者です。
生産現場で使用する工程進捗管理をアクセスで出来ないもの
か考えています。漠然とした質問になってしまいますが、実際に
アクセスでこのような事ができるのか?
アクセスに詳しい方、教えてください。

小生のイメージ
・工程へ払出されたロットの進捗管理(ガントチャート的なものが作成できるのだろうか?)

Aベストアンサー

Q、アクセスで工程進捗管理ってできるのですか?
A、出来ます。

例えば、バーコードで各工程で通過するロット番号を読ませるとします。
で、画面に表示されているガントチャートもどきの該当位置を検索。
で、一致する行まで画面を上下にスクロールしてデータを表示を更新。
これが、私が10年前に作成した進捗管理です。

1、サーバー・クライアントで開発しないと対応できません。
  可能ならば、SQL Sever+Access.adp だと快適に動作。
  少なくとも、サーバーマシンにバックエンドを構築。
  各工程にはフロントエンドを配置。
  でないと、まず、動作しません。

2、画面はクローンを使ってブックマーク移動で対応。

Set frmEmoloyees = Screeen.ActiveForm

Set rstEmoloyees = frmEmoloyees.RecordsetClone

これで、画面の当該レコードまでスクロールしバーコードを反映できた(?)と思います。

大体、こんなイメージで開発することが可能です。

Q、アクセスで工程進捗管理ってできるのですか?
A、出来ます。

例えば、バーコードで各工程で通過するロット番号を読ませるとします。
で、画面に表示されているガントチャートもどきの該当位置を検索。
で、一致する行まで画面を上下にスクロールしてデータを表示を更新。
これが、私が10年前に作成した進捗管理です。

1、サーバー・クライアントで開発しないと対応できません。
  可能ならば、SQL Sever+Access.adp だと快適に動作。
  少なくとも、サーバーマシンにバックエンドを構築。
...続きを読む

QAccessのデータのインポートで重複分を排除

MicrosoftAccsessで最初から準備してあるデータベースに
外部から追加でデータをインポートする際、重複データがある場合に
インポートしない方法はありますか?

もしくは、インポートしてしまった後で重複する分だけ削除する方法はありますか?

よろしくお願いします。

Aベストアンサー

インポート先のテーブルの、重複を判断する各フィールドに
主キーかインデックス(重複なし)の設定をすれば
重複するレコードはインポート時に自動的にはじかれるはずです。

主キーの設定方法
http://www.officepro.jp/access/table/index6.html

インデックスの設定方法
http://www.officepro.jp/access/table/index12.html


人気Q&Aランキング