• ベストアンサー

こんな関数か式?SQLってありますか?

こんにちは、Windows98SE/Access2000です。 早速質問させていただきます。 今、製造管理のシステムを作っているのですが、 例えば、1つの製品があります。 ・成形工程から加工工程に製品が移動したときに、成形工程の個数の1カウントが  消えて加工工程の個数に1カウントされるようにしたい。 最初考えたことは *工程終了日か何かを見て日付が入ると、次工程にカウントされる。 でも、これだと製品が成形工程に3個あって、2個加工工程に行って1個成形工程に 残った時にどうしたらいいかとか色々考えたのですが、乏しい知識ではどういう式を 使って、何をどうしたらよいかさっぱりわかりません。 どなたかこんな私にアドバイス等お願いできないでしょうか。 宜しくお願いします。

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

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.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を元に現在報告されている工程の前工程に対して増減させればいいのです。 前工程に対しては前工程の数量を減少させる。 現工程に対しては在庫量を増加させる。 これでお望みのことになるかな?

tokin
質問者

お礼

yanmaaさんありがとうございます。 また、長文、乱文、的を得ない質問になっておりますがどうかお許しください。 >VBAは大丈夫ですか? 簡単なものでしたら多少は分かると思います。 今回いただいたアドバイスを自分なりに実践してみたいと思います。 ですが、初心者ですので理解するまでに少々時間がかかりそうですので、まずはお礼をさせていただきます。 ありがとうございました。 アドバイスがある程度理解できたらまた質問させてください。 ですのでこの質問はしばらく開いたままでおかせていただきたいと思います。 yanmaaさん、storkさん本当にありがとうございました。

その他の回答 (5)

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.5

横槍を入れさせていただきますね。 質問と回答を眺めていたら設計の段階が甘いように見受けられます。 まず、相手の業務が掴めていないと難しいと思うのですよ。 例えば製造業の場合 受注生産か見込み生産かによっても考え方が変わりますが取り合えず見込み生産として考えましょうか。 まず、月当たりの生産量というものが決まっていると思います。(受注予測) この生産量を元に生産能力と生産効率によって製造予定といものが計画されると思います。(生産計画) 生産計画を元に実際に製造を行うのですがこの時に製造指示が発生します。(製造指図) 指示に基づき各工程に対して原料投入や作業を行い、日々の実績報告を行います。(実績報告) 指示に対して全ての作業が完了したら、出来高量を報告(出来高報告) という感じかな この時にいつ(タイミング)どのような伝票(指示書)が回っていて、いつ(タイミング)どのような報告がされているのかを押さえていますよね? これらのデータとタイミングでそのままシステム化してユーザ要求は満たされますか? 入力と出力そして処理の内、いずれがわからないのでしょうか? という事で回答ではなくアドバイスでした。 #専門家として回答してもいいのですが、それ程製造関係にはそれ詳しくないので経験者止まりとさせていただきます。

tokin
質問者

補足

yanmaaさん貴重なアドバイスありがとうございます。 >質問と回答を眺めていたら設計の段階が甘いように見受けられます。 >まず、相手の業務が掴めていないと難しいと思うのですよ。 私もこの点が身にしみております。 Accessなどほとんどわからない上に、生産管理のせの字もわからない状態から始まったもので、最初は教えてGooのようなところも知らず、周りに聞ける人もいない状態で、手探りで作ってしまった結果としてこうなってしまい自分でもかなり後悔しています。 出来るならもう一度設計から作りなおしたい心境ではあるのですが、期間が差し迫っておりそうもいかないと言う状態にいます。 >受注生産か見込み生産かによっても考え方が変わりますが取り合えず見込み生産 >として考えましょうか。 私のいる工場では、大半が受注生産で、一部戦略品として作っています。 >この時にいつ(タイミング)どのような伝票(指示書)が回っていて、いつ(タイミング) >どのような報告がされているのかを押さえていますよね? 現場では製品ごとにシートと言われる受入(受入工程名・日付・数量)払出(払出工程名・日付・数量・担当者・不良数・作業時間)と言う伝票と、その工程事の詳細を記入するシート2と言う伝票、あと製造指示書(手配番号・材質名・品名・製品名・手配数量・受注数・・・)という伝票がセットで動いています。 わからないのは、製品が工程を移動した場合に、例えば製品A(10個)が成形工程を終わり加工工程に5個だけ移動し成形工程に5個残りました。 というときAccessではどのように処理を作ったらよいのかと言うところなのです。 これで理解いただけるかどうか・・・ 説明が下手で申し訳ありませんが、アドバイス宜しくお願いいたします。

  • stork
  • ベストアンサー率34% (97/285)
回答No.4

みたび、storkです。 (これまでの回答で「専門家」としていましたが生産管理の実務には携わった事がないので「一般人」と改めさせていただきます。) >現場を製品と一緒について回る書類のことで... そうですね。しかし、くっついて回っているとすれば「現品票」とか呼ぶんですかね(?) tokinさんの設計されているテーブルは事務処理では「台帳」と呼びます。これは、一覧形式になっているもので、通常はそれを書き換えるための「伝票」が有ります。 伝票を入力することによって初めて台帳の数量を加減します。その伝票をもとにどの台帳のどの列が更新されるのか調査してください。 なお、伝票の枠外のコメントが多い場合は、その伝票の形式自体が業務に合致していない可能性がありますので注意してください。ご質問の中にある3個中の2個だけが先の工程に行ってします場合に、もし「コピーをとって現品に添付している」のであれば、これもこの伝票の形式では不足にあたります。 また、高度に自動化された工場では、また違った考え方が必要だと思います。

tokin
質問者

補足

回答ありがとうございます。 また遅くなりすみません。 現品票あります!私のところでは「シート」と呼ばれているようです。 製品番号・材質名・品名・手配番号・受払番号・得意先がありその下に、 受入―年月・工程名・作業者・数量 払出―年月・払出先・作業者・数量・不良数・作業時間 と言った感じの票が製品と一緒に工程を移動します。 それと、 >3個中の2個だけが先の工程に行ってします場合に、もし「コピーをとって現品に添付している」 >のであれば、これもこの伝票の形式では不足にあたります。 この件に関しては製品が工程に分かれて残ってしまった場合、受払番号に枝番がついたシートが 新たに発行されるようになっています。 手書きの場合は工程に入ったら入った日付、数量、払い出したら払い出した工程、日付、数量を 書けば良いのですが、実際これをどうやってAccessのシステムに反映したらよいのかわからないといった次第です。 storkさんこんな私ですがアドバイス等、重ねてよろしくお願いします。

  • stork
  • ベストアンサー率34% (97/285)
回答No.3

補足ありがとうございます。 tokinさんは、システムからみるとユーザ会社のかたですか、それとも開発会社のかたですか? 「受渡票」とは工程が変わったときに受渡の数量を確認する伝票です。 たとえば、成形工程から、加工工程に2個移すとすると、成形工程の人は、受渡票と半製品2個を持って、加工工程に行って、現品を渡し、受渡票に受領のサインをもらいます。

tokin
質問者

補足

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

  • stork
  • ベストアンサー率34% (97/285)
回答No.2

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

tokin
質問者

補足

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

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

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

tokin
質問者

補足

maruru01さん早速の回答ありがとうございます。 説明不足お許しください。 補足させていただきますのでどうぞ宜しくお願いいたします。 現在のテーブル構造ですが、製造管理T、成形工程T、加工工程T、仕上工程Tと言うふうに各テーブルが別々になっています。 製造管理T 製造指示日・手配番号・受払番号・手配数量・製造指示数量 成形工程T 受払番号・成形工程ID・作業開始日・作業終了日・受入数量・払出数量・成形工程区分・成形工程進捗・・・ 他の工程Tも同じ構造です。

関連するQ&A