- ベストアンサー
アクセスの質問なのですが・・・
在庫管理のDBを作っているのですが、商品クロと商品シロがあり、 商品クロを作るには部品A・部品C・部品Dを使用 商品シロを作るには部品B・部品C・部品Eを使用 部品Cを部品Xに名前を変更する際、商品クロの部品Cは1/20にXに変更。商品シロの部品Cは2/1にXに変更することは可能ですか? その時、1/21~1/31の間、同じ部品にCとXの2つの名前が存在することになりますが、検索するときや在庫数の変更があった場合、正しく検索や数量の計算が反映されるでしょうか? 共通に使うことのない部品であれば、そのまま日付指定をして上書きで変更するつもりなのですが、このような場合、できるのであれば方法もぜひ教えてください。よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2の方も書いてありますが部品テーブル(マスタ)に部品Cと部品Xを作り1/21~1/31の間は並行して使い2/1以降は部品Xのみを使用するようにする。2/1以降は部品Cの在庫数を全て部品Xに移行する。 これは運用の仕方になりますが・・。 または >日付指定をして上書きで変更するつもりなのですが という事は部品のテーブルと他のテーブルはリレーションでフィールドの連鎖更新や連鎖削除をしていないという事ですよね。 一時的に商品の入力フォームで入力しテーブルに保存する際に IIf([商品]="商品クロ" And [部品]="部品C" And [日付]>2006/01/20,"部品X",[部品]) のように商品クロで商品Cを処理する時に部品Xとして変換し保存するようにする。ただし商品テーブルとその保存するテーブルが1対多のリレーションをとっていると商品テーブルに部品Xがないとできませんが。 または 2/1まで通常に部品Cを使い検索や集計する際に2/1まではクエリを使い部品名を同様に変換してから行うようにする。 sub部品:IIf([商品]="商品クロ" And [部品]="部品C" And [日付]>2006/01/20,"部品X",[部品]) のようにクエリで商品クロで部品Cを使っている場合に部品Xとして変換し検索や集計はsub部品をキーにして行う。 この場合商品テーブルに商品Xは必要ありません。 2/1になったら商品Cを商品Xに変更する。 1/21~1/31の間の商品クロで使った部品Cは日付を元に商品Cから商品Xへ更新クエリを使って変更すれば良いのでは。
その他の回答 (2)
部品マスタに ・部品C(旧) ・部品X(新) とし、部品Cがすべて部品Xに移行したのち部品マスタの部品Cを削除するようにすることで可能です。
- cyanberry
- ベストアンサー率50% (117/230)
アクセスというか、仕様の話をしているように思えるのですが、仕様が分からないのでなんとも回答できません。 "商品クロを作る"、"部品Cは1/20にXに変更"というのが具体的にどういうことをしようとしているのかが分かりません。 テーブルレイアウトを含めた形で再度説明していただけますか。