• ベストアンサー

アクセスの質問なのですが・・・

在庫管理のDBを作っているのですが、商品クロと商品シロがあり、 商品クロを作るには部品A・部品C・部品Dを使用 商品シロを作るには部品B・部品C・部品Eを使用 部品Cを部品Xに名前を変更する際、商品クロの部品Cは1/20にXに変更。商品シロの部品Cは2/1にXに変更することは可能ですか? その時、1/21~1/31の間、同じ部品にCとXの2つの名前が存在することになりますが、検索するときや在庫数の変更があった場合、正しく検索や数量の計算が反映されるでしょうか? 共通に使うことのない部品であれば、そのまま日付指定をして上書きで変更するつもりなのですが、このような場合、できるのであれば方法もぜひ教えてください。よろしくお願いします

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.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)

noname#21550
noname#21550
回答No.2

部品マスタに  ・部品C(旧)  ・部品X(新) とし、部品Cがすべて部品Xに移行したのち部品マスタの部品Cを削除するようにすることで可能です。

  • cyanberry
  • ベストアンサー率50% (117/230)
回答No.1

アクセスというか、仕様の話をしているように思えるのですが、仕様が分からないのでなんとも回答できません。 "商品クロを作る"、"部品Cは1/20にXに変更"というのが具体的にどういうことをしようとしているのかが分かりません。 テーブルレイアウトを含めた形で再度説明していただけますか。

関連するQ&A

  • アクセスでこのような処理はできますか?

    今アクセスで部品管理のDBを作成しているのですが、部品A・B・Cがあり、部品A・Bを使い組み立てて出来たのが前加工品Q。この時前加工品Qの在庫はプラス。 その後前加工品Qと部品Cを使い、製品を完成させる。 製品が出庫されたとき、前加工品Q、部品A・B・Cの在庫はマイナス。 というようにしたいのです。 説明が下手で申し訳ないのですが、アクセスでこのような処理は可能ですか? 可能であればぜひ方法も教えてください。 お願いします。

  • Access select句でのサブクエリ

    Access2010でのサブクエリについてお教えください。 注文テーブル 商品コード,数量,フラグ A,3,x B,2,x C,1,x A,3,y B,4,y C,3,y このようなテーブルがあります。 SELECT 商品コード,数量 FROM 注文テーブル GROUP BY 商品コード A,6 B,6 C,4 やりたい事はフラグがxの数量も表示たいと思っています。結果としては、下記の結果が欲しいです。 A,6,3 B,6,2 C,4,1 select句でサブクエリを作りました。 SELECT 商品コード,数量,(SELCT 数量 FROM 注文テーブル WHERE フラグ='x' GROUP BY 商品コード) FROM 注文テーブル GROUP BY 商品コード しかしこのコードを実行すると、「このサブクエリでは1つのレコードしか返せません」と表示されます。 どこを修正したら正しいデータを取得することができるでしょうか?

  • VB6+ADO(EXCEL)についてお教えください。Excelが更新されません。

    お知恵をお貸しください。 VB6 SP5 WIN XP SP2 ADO 2.8 Library Excel 2003 SP2 現在、以上の環境で開発を行っております。 対象Excelのシート1の名前をある機械の「部品入出庫管理」とし、シート2の名前を「部品表」としています。 「部品表」にある[在庫数]フィールドは 「部品入出庫管理」にある[入庫]フィールド、あるいは[出庫]フィールドに値が入力されれば計算される仕組みになっております。 [入庫]フィールドに値Xが入力されれば、「部品表」の[在庫数]フィールドはXプラスされ、 [出庫]フィールドに値yが入力されれば、「部品表」の[在庫数]フィールドはyマイナスされます。 アプリケーションの流れは、 (1)「部品表」の[部品番号]フィールドを検索 (2)入・出庫の数量を入力 (3)「部品入出庫管理」の[入庫]、あるいは[出庫]フィールドにADO接続で数量が入力される (4)この数量を「部品表」の[在庫数]フィールドがExcel内で自動的に計算して値を更新しておく です。 しかし、 (4)の動作ができていません。Excelのアプリケーションそのものを開くと、更新されているのですが・・・ .addnewと.updateを使っております。 何か他の命令なりがあるのでしょうか? ちょっと解りづらいかもしれませんが、お知恵をお貸しください。 大変恐縮ですが宜しくお願い申し上げます。

  • ACCESSについて教えてください。

    いつも大変お世話になっております。 すみませんが、今回も力をお貸しください。よろしくお願いいたします。 社内部品構成管理システムには下表のように部品構成表として登録して管理してあります。(レベル1まで) AはB,G,Xという部品で構成されているとします。 BはA,R,Xという部品で構成されているとします。 親  子 A   C A   G A   X B   A B   R B   X Bという部品の構成を全部見たいと思い、以下のようにACCESS等(部品構成表DB)で紐付けします。 親   子 ― 親      子 ― 親           子 結果、BはAが含まれるので、以下のような結果が出力されます。 (現状、どこまで子があるか分からないので適当に部品構成表のDBテーブルを結んでいます。) B A C B A G B A X B R B X これを、(サマリー型というのでしょうか) レベル1 B レベル2 A レベル3 C レベル3 G レベル3 X レベル1 R レベル1 X のように出力させるにはどのようにやればいいのでしょうか? VBAやSQLで出力可能でしょうか? 長くなりましたが、よろしくお願いいたします。

  • accessで在庫管理

    こんにちは。 accessで商品(部品)の在庫管理をすることになりました。 1)商品情報(型番・部品名・仕入元など)の基本情報の入ったテーブルを作り 2)型番をキーにして出荷入荷の記録をつけ(仕入日・出荷日・数量・出荷先など)て行きたいとおもっています。 今在庫がいくつあるのか確認しつつ入力したい関係で、例えば型番を抽出条件にすると今までのレコードが一覧で見れて、(上部に部品に関する1)の情報が見れて)一番下に新しいレコードして追加入力をすることができるような形にしたいのですが、 どのようなテーブル形式、リレーションシップをとったらよろしいでしょうか? 参考になる本が見当たらず困っています。 よろしくお願いします。

  • エクセルでデータ検索(抽出)ファイルを作成したい

    エクセルでわからない事があり投稿させて頂きました。 各店の在庫データをシート2.シート3.シート4へ貼り、 シート1に商品コードを入力する欄を作り、入力したコードの商品在庫が各店舗ごとに表示されるファイルを作成したいと思ってます。 (検索したコードの商品在庫数量をシート1のC列に表示させわかりやすくしたいです) 在庫データのファイルはC列に商品コード/F列に在庫数量が記載されており、商品コードでひっかかった行のF欄の数値をシート1のC列に出せるようにしたいのですが可能でしょうか? 過去ログは確認してみたもののわからず・・・ 可能かどうか教えて頂けると幸いです。

  • Accessで倉庫管理

    お世話になります。 現在Accessで在庫管理作成中です。 テーブル: 入庫:品番 品名 グループ 数量 使用者 日付 出庫:品番 品名 グループ 数量 使用者 使用状態 日付 グループ:1 消耗品        2 道具       3 機械 クエリ 消耗品在庫:入庫(消耗品)-出庫(消耗品) フォーム: 入庫フォーム、在庫フォームと出庫フォームを作成しました。 在庫フォームはクエリの元で作成しました。 以上のように作りました。 やりたいことは出庫フォームを入力する時、消耗品なら、数量を入力して、一旦在庫を確認して出したい数は在庫があれば、入力できます。そうではない場合はエラーでます。 言葉がうまく説明できないですのでイメージとしては Select Case グループID Case 1 If 数量<「在庫フォーム」の数量 Then  そのまま入力出来ます。在庫が減って行きます。 Else エアー Message box”在庫は足りません” こんな感じでコードに書き換えられますか?コードが弱いですので助けて下さい。 よろしくお願いします。  

  • エクセルのデータベースで参照・貼り付け

    エクセル2003で、部品在庫のデータベースを作成してあります。 シート1"18年部品在庫" [コード][部品名称][単価][数量]... シート2は"19年部品在庫"ですが、ほぼ白紙の状態。 [コード]を手入力すると、昨年のデータベースを参照し[部品名称][単価][数量]を貼り付け。 単価や、数量に変化がある場合、19年度のシートの単価や、数量だけを修正したいと思います。 ※できるだけマクロではなくて、関数で行いたいと思います。 よろしくお願いいたします。

  • Accessで、在庫表を作りたいのですが・・・

    いつも大変お世話になっております。m(_ _)m また質問させてください。 Accessで、在庫表を作っています。 「入庫情報_テーブル」と「出庫情報_テーブル」があり、それぞれのテーブルは、製品名(型番)と数量の情報を持っています。 入庫情報の数量はプラスして、出庫情報の数量はマイナスして、差引きの在庫表を作りたいのですが・・・ 入庫情報に入っている製品名のすべてを表示して、出庫情報の数量をマイナスする・・・というのは、「結合のプロパティ」で、入庫情報の全レコードと・・・というオプションを選べば可能です。 またその逆も可能なわけですが、両方を全部表示したい時はどうすればいいのでしょうか? つまり、入庫情報に入力されている商品で出庫情報にのっていないものと、出庫情報に入力されている商品で入庫情報にのっていないものがあるわけです。 在庫表では、それぞれのテーブルに存在するすべての製品名を載せ、型番が合致した場合は、入庫数量-出庫数量で在庫を出したいのです。 出庫情報にあって、入庫情報にないものというのは、つまり、在庫数がマイナスになるということです。 両方を同時に満たすには、どのようにすればいいのでしょうか? 質問の説明文が不足していたら指摘してください。 よろしくお願いします。

  • 何度も同じような質問すみません。

    何度も同じような質問すみません。 今回もエクセルで検索表作成中の問題です。 エクセルは2007を使用しています。 現在在庫を検索できるようにエクセルで在庫表を作成し(シート1)、在庫検索表を作成しています。(シート2) シート1のほうには在庫表だけなので、部品名、メーカー名、在庫保管場所、個数、備考、単価の順にA1セルからG1まで表記してA2からG1500までの間で各詳細を明記しています。 シート2には =INDEX('在庫管理'!B:B,SMALL(INDEX(('在庫管理'!$A$1:$A$1500<>$A$2)*10^4+ROW($1:$1500),),ROW(A1)))&"" 画像のようになっています。 の関数を入れて各項目を表示できるようにしています。 A2に検索したい型式を入れます。 この場合、近似検索のような形なのですが、 問題1 シート1に行を挿入するとシート2の検索結果表示セルがエラー表示になる。 問題2 現段階では1つしか検索できない。 ベストなのはAセルに検索部品を入れると複数検索できる。 現状は検索部品に関して、関連性のあるものを表示できるようになっています。 問題3 検索結果後、在庫数を変更する場合、ハイパーリンクを使用したものを使うのですが、 =IF(A2="","",HYPERLINK("#在庫管理!D"&MATCH(A2,'在庫管理'!$A$2:$A$1500,0)+1,A2&"の個数訂正")) を表示結果全てにリンクできるようにしたい。 上記の場合だと、ひとつしかリンクできない状態です。 シート2のG2に関数が入っています。 わかりづらい質問ですが、よろしくお願い致します。

専門家に質問してみよう