こんにちは、Windows98SE/Access2000です。
早速質問させていただきます。

今、製造管理のシステムを作っているのですが、
例えば、1つの製品があります。

・成形工程から加工工程に製品が移動したときに、成形工程の個数の1カウントが
 消えて加工工程の個数に1カウントされるようにしたい。

最初考えたことは
*工程終了日か何かを見て日付が入ると、次工程にカウントされる。
でも、これだと製品が成形工程に3個あって、2個加工工程に行って1個成形工程に
残った時にどうしたらいいかとか色々考えたのですが、乏しい知識ではどういう式を
使って、何をどうしたらよいかさっぱりわかりません。

どなたかこんな私にアドバイス等お願いできないでしょうか。
宜しくお願いします。

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

A 回答 (6件)

再びyanmaaです。

長くなるのは勘弁してください。

やっぱり受注生産ですかそういう気はしたのですよ
>製品番号・材質名・品名・手配番号・受払番号・得意先
これを見て得意先が入っているのでまさかとは思っていたのですが...

>期間が差し迫っておりそうもいかないと言う状態にいます。
つらい時期ですね。がんばって下さい。

VBAは大丈夫ですか?
この手の作業をする時にはどうしてもVBAを使わざるえないのです。

>例えば製品A(10個)が成形工程を終わり加工工程に5個だけ移動し成形工程に5個残りました。

という事は成形工程の報告は10コと報告しているはずですよね。
その次に加工工程で製品Aを5コ使いましたと報告するはずですね。
キー項目として「受払番号」をお持ちですよね。

となると
加工工程の報告時に

UPDATE FROM 成形工程T
SET 数量 = 数量 - 使用量
WHERE 受払番号 = 変数の受払番号

UPDATE FROM 加工工程T
SET 数量 = 数量 + 使用量
WHERE 受払番号 = 変数の受払番号

とするのがいいのかな(2つのSQLで各工程の数量を増減させている)

理想は(かなり省略していますが)
1.受注時に受注伝票を作成
2.受注伝票を元に製造指図を作成
3.製造指図に対して日々報告
 製造指図番号+連番、工程ID、投入量、出来高量
4.製造指図の完了報告(全工程完了時)
5.出荷(指図在庫の引き落とし)

受注伝票には
受注番号、得意先、受注品目コード、受注数量、出荷予定日、納期

製造指図には
受注番号、製造指図番号、製造開始予定日、完成予定日、予定数量、数量

工程マスタ
工程ID、工程名

品目別工程順マスタ
製品コード、工程順、工程ID

工程順序T
製造指図番号、工程ID、前工程ID、後工程ID

前工程IDが空白なら最初の工程
後工程IDが空白なら最後の工程

実績報告T
製造指図番号、明細番号、工程ID、作業開始日、作業終了日、出来高量、不良数、進捗区分
※単一原料(製品)の数量を管理するなら、使用量も付加

工程別在庫T
製造指図番号、工程ID、在庫量

としておいて

最初に工程別在庫Tの在庫量を0にしておき、報告があった毎に各工程の在庫量を増減さえればいいのです。その時に工程順序Tを元に現在報告されている工程の前工程に対して増減させればいいのです。
前工程に対しては前工程の数量を減少させる。
現工程に対しては在庫量を増加させる。

これでお望みのことになるかな?
    • good
    • 0
この回答へのお礼

yanmaaさんありがとうございます。
また、長文、乱文、的を得ない質問になっておりますがどうかお許しください。

>VBAは大丈夫ですか?
簡単なものでしたら多少は分かると思います。

今回いただいたアドバイスを自分なりに実践してみたいと思います。
ですが、初心者ですので理解するまでに少々時間がかかりそうですので、まずはお礼をさせていただきます。
ありがとうございました。
アドバイスがある程度理解できたらまた質問させてください。
ですのでこの質問はしばらく開いたままでおかせていただきたいと思います。
yanmaaさん、storkさん本当にありがとうございました。

お礼日時:2001/12/20 17:47

横槍を入れさせていただきますね。



質問と回答を眺めていたら設計の段階が甘いように見受けられます。

まず、相手の業務が掴めていないと難しいと思うのですよ。

例えば製造業の場合
受注生産か見込み生産かによっても考え方が変わりますが取り合えず見込み生産として考えましょうか。

まず、月当たりの生産量というものが決まっていると思います。(受注予測)
この生産量を元に生産能力と生産効率によって製造予定といものが計画されると思います。(生産計画)
生産計画を元に実際に製造を行うのですがこの時に製造指示が発生します。(製造指図)
指示に基づき各工程に対して原料投入や作業を行い、日々の実績報告を行います。(実績報告)
指示に対して全ての作業が完了したら、出来高量を報告(出来高報告)

という感じかな

この時にいつ(タイミング)どのような伝票(指示書)が回っていて、いつ(タイミング)どのような報告がされているのかを押さえていますよね?

これらのデータとタイミングでそのままシステム化してユーザ要求は満たされますか?

入力と出力そして処理の内、いずれがわからないのでしょうか?

という事で回答ではなくアドバイスでした。

#専門家として回答してもいいのですが、それ程製造関係にはそれ詳しくないので経験者止まりとさせていただきます。

この回答への補足

yanmaaさん貴重なアドバイスありがとうございます。
>質問と回答を眺めていたら設計の段階が甘いように見受けられます。
>まず、相手の業務が掴めていないと難しいと思うのですよ。
私もこの点が身にしみております。
Accessなどほとんどわからない上に、生産管理のせの字もわからない状態から始まったもので、最初は教えてGooのようなところも知らず、周りに聞ける人もいない状態で、手探りで作ってしまった結果としてこうなってしまい自分でもかなり後悔しています。
出来るならもう一度設計から作りなおしたい心境ではあるのですが、期間が差し迫っておりそうもいかないと言う状態にいます。

>受注生産か見込み生産かによっても考え方が変わりますが取り合えず見込み生産
>として考えましょうか。
私のいる工場では、大半が受注生産で、一部戦略品として作っています。

>この時にいつ(タイミング)どのような伝票(指示書)が回っていて、いつ(タイミング)
>どのような報告がされているのかを押さえていますよね?
現場では製品ごとにシートと言われる受入(受入工程名・日付・数量)払出(払出工程名・日付・数量・担当者・不良数・作業時間)と言う伝票と、その工程事の詳細を記入するシート2と言う伝票、あと製造指示書(手配番号・材質名・品名・製品名・手配数量・受注数・・・)という伝票がセットで動いています。

わからないのは、製品が工程を移動した場合に、例えば製品A(10個)が成形工程を終わり加工工程に5個だけ移動し成形工程に5個残りました。
というときAccessではどのように処理を作ったらよいのかと言うところなのです。
これで理解いただけるかどうか・・・
説明が下手で申し訳ありませんが、アドバイス宜しくお願いいたします。

補足日時:2001/12/20 10:41
    • good
    • 0

みたび、storkです。


(これまでの回答で「専門家」としていましたが生産管理の実務には携わった事がないので「一般人」と改めさせていただきます。)

>現場を製品と一緒について回る書類のことで...
そうですね。しかし、くっついて回っているとすれば「現品票」とか呼ぶんですかね(?)

tokinさんの設計されているテーブルは事務処理では「台帳」と呼びます。これは、一覧形式になっているもので、通常はそれを書き換えるための「伝票」が有ります。

伝票を入力することによって初めて台帳の数量を加減します。その伝票をもとにどの台帳のどの列が更新されるのか調査してください。

なお、伝票の枠外のコメントが多い場合は、その伝票の形式自体が業務に合致していない可能性がありますので注意してください。ご質問の中にある3個中の2個だけが先の工程に行ってします場合に、もし「コピーをとって現品に添付している」のであれば、これもこの伝票の形式では不足にあたります。

また、高度に自動化された工場では、また違った考え方が必要だと思います。

この回答への補足

回答ありがとうございます。
また遅くなりすみません。
現品票あります!私のところでは「シート」と呼ばれているようです。

製品番号・材質名・品名・手配番号・受払番号・得意先がありその下に、
受入―年月・工程名・作業者・数量
払出―年月・払出先・作業者・数量・不良数・作業時間
と言った感じの票が製品と一緒に工程を移動します。

それと、
>3個中の2個だけが先の工程に行ってします場合に、もし「コピーをとって現品に添付している」
>のであれば、これもこの伝票の形式では不足にあたります。

この件に関しては製品が工程に分かれて残ってしまった場合、受払番号に枝番がついたシートが
新たに発行されるようになっています。

手書きの場合は工程に入ったら入った日付、数量、払い出したら払い出した工程、日付、数量を
書けば良いのですが、実際これをどうやってAccessのシステムに反映したらよいのかわからないといった次第です。
storkさんこんな私ですがアドバイス等、重ねてよろしくお願いします。

補足日時:2001/12/18 11:06
    • good
    • 0

補足ありがとうございます。


tokinさんは、システムからみるとユーザ会社のかたですか、それとも開発会社のかたですか?

「受渡票」とは工程が変わったときに受渡の数量を確認する伝票です。
たとえば、成形工程から、加工工程に2個移すとすると、成形工程の人は、受渡票と半製品2個を持って、加工工程に行って、現品を渡し、受渡票に受領のサインをもらいます。

この回答への補足

こちらこそたびたびのアドバイスありがとうございます。
最近外出が増えてしまい、返事が遅くなり申し訳ありません。
私は、システムから見た場合開発会社の方に入るのだと思います。
といっても専門ではないので、生産管理のことやAccessについても初心者でわからないことばかりなのでかなり参っていまが・・・。
受渡票の説明ありがとうございます!
現場を製品と一緒について回る書類のことでよかったでしょうか。
という事はその仕組みをAccessの中に作ってあげないといけないということになるのでしょうか。
大変お手数ですが再度のアドバイスどうぞよろしくお願いいたします。

補足日時:2001/12/17 04:21
    • good
    • 0

工程が引き継がれた時に「受渡票」のようなものを起票しませんか?通常はそれに基づいて両テーブルを加減します。



受渡票がないとすれば、テーブルの作り方がまずいのかな?と思います。

この回答への補足

storkさんアドバイスありがとうございます。
お返事が遅くなりすみません。
知識不足で申し訳ありませんが、「受渡票」とはどういうものでしょうか。
イメージが出てこないのですが、良かったら教えていただけないでしょうか。
お手数かけますがお願いします。

補足日時:2001/12/14 11:50
    • good
    • 0

こんにちは。

maruru01です。
テーブルの構造がわからないので、質問の主旨に沿うかどうかわかりませんが。
まず、1つのテーブルで、[工程]というフィールドを設けて、
  DCount("製品ID", "製品テーブル", "工程 = '加工'")
という感じでカウントする。
また、いっそのこと[加工工程]と[成形工程]というふうにテーブルを別々にして、レコードの移動を行えば、テーブルの総レコード数をカウントすればよい。

製品テーブルの構造が分かれば、ある程度詳しく回答できるのですが。
では。

この回答への補足

maruru01さん早速の回答ありがとうございます。
説明不足お許しください。
補足させていただきますのでどうぞ宜しくお願いいたします。

現在のテーブル構造ですが、製造管理T、成形工程T、加工工程T、仕上工程Tと言うふうに各テーブルが別々になっています。

製造管理T
製造指示日・手配番号・受払番号・手配数量・製造指示数量

成形工程T
受払番号・成形工程ID・作業開始日・作業終了日・受入数量・払出数量・成形工程区分・成形工程進捗・・・

他の工程Tも同じ構造です。

補足日時:2001/12/12 13:25
    • good
    • 0

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

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

関連するカテゴリからQ&Aを探す

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

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

Qミッドウエー海戦、最年少戦死者は15歳の少年4名だそうですが、

ミッドウエー海戦、最年少戦死者は15歳の少年4名だそうですが、
乗艦名(できれば4名の名前も)を教えてください。
よろしくお願いします。

城山三郎氏の対談集『気骨について』(新潮社)で知りました。

Aベストアンサー

『記録 ミッドウェー海戦』澤地久枝著、文藝春秋、昭和61年6月発行によれば、赤城1名、蒼龍2名、三隈1名となっています。名前などは図書館にはあるでしょうから自分で調べてください。以上

QAccessで別テーブルの個数をユーザNOごとにカウントしてクエリに表示させる方法は?

顧客管理をAccess2003で行っています。
ユーザーが持っている機械入替えの情報を入力するフォームを追加することになりました。
そこに必要なフィールドのひとつに「トラブル回数」があります。
「トラブル回数」は、別テーブルの「T対応履歴」の対応分類に"C2"の値が入力されているものをユーザー別にカウントをして引っ張りたいと思います。

私が思いついた方法は、集計クエリを使う方法です。
(1)まず「T対応履歴」からユーザNOと対応分類のクエリを作って抽出条件を"C02"で引っ張り出しました。
(2)次にそのクエリをユーザNOごとにグループ化し対応分類をカウントした集計クエリを作りました。
(3)その集計クエリと「T機器入替」をクエリで結合させました。
そうしたら問題が発生してしまいました。
フォーム上で入力の更新ができなくなってしまったのです!
集計クエリは更新できないことがわかりました。
どうやら関数を使うようなのです。
http://support.microsoft.com/kb/328828/ja

このような場合、Accessを熟練されている方ならどのような方法を取られるのでしょうか?
よろしかったら教えていただけないでしょうか?

顧客管理をAccess2003で行っています。
ユーザーが持っている機械入替えの情報を入力するフォームを追加することになりました。
そこに必要なフィールドのひとつに「トラブル回数」があります。
「トラブル回数」は、別テーブルの「T対応履歴」の対応分類に"C2"の値が入力されているものをユーザー別にカウントをして引っ張りたいと思います。

私が思いついた方法は、集計クエリを使う方法です。
(1)まず「T対応履歴」からユーザNOと対応分類のクエリを作って抽出条件を"C02"で引っ張り出しました。
(2)次...続きを読む

Aベストアンサー

>全部「0」になってしまいました。
該当するものがないからでしょうね

>テキストボックスだからでしょうか?
関係ありません。だけどなぜテキストボックス?
最初の質問は集計クエリと結合したクエリだと追加更新不可になる
からなんとかできないかということでしたよ
入力フォームのソースのクエリに書くのですよ

>ユーザNOごとに合計数を表示させることは可能なのでしょうか?
合計だとDSum関数ですよ

Q復興支援マッチ 日本~台湾戦 BGM曲名

いま放送中の台湾戦で19:01ごろにかかった曲名を教えてください。
相方は、かなり古い曲だと申しています。
聞いた事があるけれど、曲名がどうしても思い出せないそうです。
いい感じの、ロックでした。よろしくお願いします。

Aベストアンサー

19:01は観てなかったのですが、今流れていたのはジャーニーのセパレート・ウェイズ です。

Qaccessのフォームで製品番号と製品名を表示させたい

こんにちは。いつもお世話になります。突然で申し訳ありませんがすみません教えてください。

テーブル1に製品番号と製品名が書いてあり、それを基にフォームを作成します。
そのフォーム内に、製品番号をプルダウンで選択できるようにして、選択した製品番号をその隣にあるテキストボックスに表示させたいのです。

すみません初歩で。よろしくおねがいします。

Aベストアンサー

>製品番号をプルダウンで選択できるようにして選択した
>製品番号をその隣にあるテキストボックスに表示
プルダウンというのをコンボボックスとして
Cmb1という名前でテーブル1を基にコンボボックスを作り[製品番号][製品名]の順で表示するようにします。製品名を表示するテキストボックスをText1とした場合。
そのCmb1のプロパティを開きイベントの更新後処理に下記の記述をします。

Private Sub Cmb1_AfterUpdate()
Text1 = Cmb1.Column(1)
End Sub

これでCmb1で製品番号を選択するとText1に製品名が表示されます。
フォーム上の表示のみですが。

Q代表戦などの選手入場の時に流れる曲の曲名は?

代表戦などのおそらくFIFA主催の試合でだと思いますが、
あの選手入場のときに流れる曲の曲名はなんと言うのでしょうか。
この曲に関することが書いてあるホームページでも結構です。
よろしくお願いします。

Aベストアンサー

「FIFA ANTHEM」という曲らしいです。正式にはJASRACによると「FIFA HYMNE~ANTHEM」で、「FIFA ANTHEM」は副題というか通称なのかな。FIFA公認テーマソングで、作曲はFRANZ LAMBERTという人です。CDは出ていないみたいですね。

QAccessで工程管理

作業工程の予定工数と実績工数を日付で入力させています。
工数単位で、次のようにするには、どのようにすれば良いでしょうか?

例えば、「AAAAA」という工程が6月1日~4日迄の予定で
実績は6月2日~5日まででした。という場合
   1 2 3 4 5 6 7 8・・・・・
AAAAA ■■■■
     □□□□

このように表示したいと思っています。
日付は、1ヶ月単位で日付を並べたいと思っています。
今、■であらわしていますが、出来れば、
グラフみたいにしたいと思っています。

宜しくお願いします。

Aベストアンサー

使うために作るのであれば、このようなものをDLして使えるかどうか検討してみる。
経験をつむために作るのなら、もうちょっと基礎的なものからはじめるほうが良いと思います。

参考URL:http://www.vector.co.jp/soft/win95/business/se288948.html

Q浦和開幕戦で使われていた洋楽の曲名

ちょっと、カテ違いかもしれませんが…。
昨日の、Jリーグ開幕戦で埼玉スタジアム内に流れていた洋楽の曲名を知りたいのです。

だいたい、選手が練習を始めたぐらいに2,3曲洋楽が流れたと思うんですが、もし分かる方がいたら教えて頂けますでしょうか?
宜しくお願いします。

Aベストアンサー

音楽が流れている時に選手のコメントを読んでいた朝井夏海さんの事務所のホームページで詳しく調べることが出来ます。
もし、いつも流れている曲と違う曲ならば掲示板で質問してみてください。

また、このページから一部の曲を視聴&購入も出来ます。http://www.komura.com/urawa/music/

参考URL:http://homepage2.nifty.com/my-s/mainmenu.htm

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 だと快適に動作。
  少なくとも、サーバーマシンにバックエンドを構築。
...続きを読む

Q日本代表戦のときに流れる曲名がわかりません

日本代表戦の時に流れる曲を探しています。
外国人が歌っているのはTVで見たことはあるのですが、曲名や歌手がわかりません。
どなたかわかる方いませんか?

○W杯予選でも流れている曲です。
○番組のサッカーコーナーになると、流れる曲です。
 (川平さんの時に良く流れるかも)
○もしかしたら、CM(マークX)で流れてるのは同じ曲か も。

Aベストアンサー

サラブライトマン
ア・クエスチョン・オブ・オナー
だと思います
以下URLで試聴できます

参考URL:http://www.toshiba-emi.co.jp/sarah-brightman/disco/tocp40151.htm

Q早速やってみましたが、エラーが出てきてできません。

早速やってみましたが、エラーが出てきてできません。
 「ユーザー定義型が定義されていません。」と
Dim DB As Database
ここでとまってしまいます。

Help見たのですが、「オブジェクト ライブラリまたはタイプ ライブラリで定義する」とありました。

設定してみようとしたのですが、どれが必要なのかさっぱりわかりません。

Aベストアンサー

>Dim DB As Database・・
DAOを使用するのですか?DAOなら
Dim DB As DAO.DATABASE
Dim rs as DAO.Recordset

Set DB = CurrentDB
Set rs = DB.OpenRecordset("テーブル名")
となりますが・・。
エラーは参照設定でDAOを参照していないので出てると思います。
2000以降はDAOではなくADOが標準で参照設定されているのですが・・。DAOはVBの参照設定でMicrosoftDAO?.?Object Libraryを参照しないと使えません。(?.?は使っているバージョンによって異なります。)

ADOを使用してAccessに接続する場合。
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = CurrentProject.AccessConnection
Set rs = New ADODB.Recordset
で出来ます。


人気Q&Aランキング

おすすめ情報