• 締切済み

シミュレーション

お世話になります。 困っていることがあるので相談に乗って下さい。 部品表、部品表切り替え予定表、製造予定表という3つのテーブルを元に使用数のシミュレーションをしたいと考えておりますが良い方法が思い付きません。 部品表  品目名  使用数  変更ID 部品表切り替え予定表  変更ID  変更日 製造予定表  製造日  製造数 一つの部品表を元に製造予定通りの集計をすることは出来たのですが、 これを「部品表切り替え予定表」の「変更日」に基づいて部品表を差し替えたかたちで集計をしたいと考えています。 製造予定の日付時点での最新の部品表をもとに集計する方法をアドバイス下さい。 どんな形でもよろしいですのでよろしくお願いいたします。

みんなの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.3

アクセスに限らずですが、まずテーブルが第一にある訳で、ここの設計が腐ってたらどうしようもありません。 クエリやフォームはおまけです。 ですのでここを人に頼るようでしたら、アクセスはあきらめた方が良いのではないかなと。 んでまずヒントとして。 アクセスならば 「製造予定日時点での最新の部品表を抽出」するクエリだけを作ってみることに挑戦されてはどうでしょうか。 まず製造日>変更日の条件で選択クエリを作ると、製造日以前の変更日を持つ部品の一覧表が得られますよね?これが第一段階。 そこから色んな条件をつけくわえていけばよいかなと。 何なら一つのクエリで何もかもやろうとせずに複数のクエリを組み合わせたほうが理解しやすいでしょう。

  • hilo256
  • ベストアンサー率18% (3/16)
回答No.2

sqlは方言が多少あるので注意してください。 文章読解が間違っていたらすいません。 select 品名, a.変更ID from 部品表 a, 部品表切り替え予定表 b where a.変更ID = b.変更ID and b.変更日 in (select min(c.変更日) from 部品表切り替え予定表 c where a.変更ID = c.変更ID); oracleでは、これで可能だと思います。 できなければ、使用ソフトともう少しわかりやすい説明を下さい。

zaku08
質問者

補足

すみません。書いてから気が付いたのですがソフト名が抜けてました。 使用ソフトはAccess2000です。 テーブルとしては 部品表  品目名  使用数  変更日 製造予定表  製造日  製造数 としても構わないです。 部品表はひとつで、その中には変更日別の部品表がすべて入っています。 やりたいことは、 製造予定日時点での最新の部品表を抽出し、 その部品表を元に製造予定台数分の使用予定数を集計したいです。 欲しい結果としては、 品目名、製造日、使用数 がわかれば良いです。 何かよい方法がありましたらご教示ください。 まだ足りない情報がありましたら指摘してください。 よろしくお願いいたします。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

使用ソフトは何なのでしょうかね。 というかこのテーブルからは何をしたいのかよく分かりません。部品表テーブルがたくさんあって条件によってテーブルを差し替えるのでしょうか? もしそうだとするなら SQL文のFROM句を変更日を基準にその都度変更すれな良いのではないかなと。 んーまぁ根本的に設計から考え直した方が早い感じもするけれどw

zaku08
質問者

補足

使用ソフトはAccess2000です。 製造予定日時点での最新の部品表を抽出し、 その部品表を元に製造予定台数分の使用予定数を求めるためにはどうすればいいでしょう。 テーブル設計や仕組みを変えても構いませんので実現するための方法をアドバイスしていただけませんでしょうか。 考え方などのヒントを頂ければと思います。 よろしくお願いいたします。

関連するQ&A