• ベストアンサー

Access2013

今回初めてAccessを使います。 用語等が間違っていたら申し訳ありません。 仕入・在庫・売上のテーブルを作りました。 1つの商品番号に1つの商品というものをデーターとして入力しています。 在庫と売上には基本的殆ど同じフィールドがあり、違いといえば、売上には購入者の名前が入るぐらいです。 そこで、売上に1つの商品番号(例えば、A)を入力したら、在庫からその商品番号(A)のすべてのフィールドを削除して、売上にそのデータをすべて移行するようなことは可能でしょうか? もし可能でしたら、アドバイスをお願いします。

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

  • ベストアンサー
  • aoyama984
  • ベストアンサー率45% (253/561)
回答No.3

在庫は スタート時点の在庫数に 入庫があればプラス 出庫ならマイナス としていく いつ いくつ 入出庫したか 履歴を積み重ねていく 棚卸しで調整して 再スタート 在庫が売上になるのは実際としてそうかもしれないが データとしては 移動 させず 売上は売上として登録 在庫は売上があれば在庫を -1とみなす として処理 という処理を推奨 同じフィールドは無意味では たとえばどんなフィールドの構成なのか 商品名や規格などは 商品マスタ を作り共有化する 売上テーブルは その目的のためのフィールドのみにする というのが正しい

その他の回答 (2)

回答No.2

> 1つの商品番号に1つの商品というものをデーターとして入力しています。 1個の商品に一つの商品番号というような完全な単品管理なのでしょうか。 それとも一つの商品というのは一つの商品名ということでそれを複数個仕入れることもあるということでしょうか。 それによって当然設計方法等が変わってきますので明確にしてください。 とりあえず完全単品管理として回答します。 > そこで、売上に1つの商品番号(例えば、A)を入力したら、在庫からその商品番号(A)のすべてのフィールドを削除して、売上にそのデータをすべて移行するようなことは可能でしょうか? データベースとしては設計がまずいですね。 仕入・在庫・売上 とテーブルを分けないほうがいいと思います。 分けると、データを移動するという面倒な操作が発生してしまいます。 仕入・売上 というのは商品の属性ですので、一つのテーブルにまとめます。 例 商品番号 商品名 詳細内容 司令先コード 仕入価格 仕入日 販売価格 販売日 購入者コード こんな感じのフィールド構成にすればいいでしょう。 これで、クエリで仕入日が入力してあるデータを抽出すれば 仕入データ、 販売日が入力してあるデータを抽出すれば 販売データ、ということになります。 在庫は、仕入日が入力してあり、販売日が未入力のデータということになります。

回答No.1

可能だけど、各テーブルのフィールド名を書かないと、まともな回答は来ないと思う

関連するQ&A

  • Access DB 商品名の扱いについて

    (テーブル名):(フィールド名) 商品テーブル:商品名。 単価数量テーブル:商品単価、数量、仕入番号、商品名。 仕入テーブル:仕入番号、仕入日、注文日、手数料、輸送費など。 売上テーブル:売上、販売日付、仕入番号、商品名。 リレーションシップ:一対多 商品テーブル商品名-単価数量テーブル商品名 商品テーブル商品名-売上テーブル商品名 仕入テーブル仕入番号-売上テーブル仕入番号 仕入テーブル仕入番号-単価数量テーブル仕入番号 このように作成しました。 ここで問題なのが、商品名の入力です。 仕入テーブルをメイン、単価数量テーブルをサブフォームにしてフォームを作成しました。 さて、商品名を単価数量テーブル商品名フィールドのサブフォームから入力・・・と思ったら、商品テーブル商品名フィールドに名前がないためエラーが出ます。(参照整合性をしているため) サブフォームの入力フィールドを商品テーブル商品名に変更すれば入力できます。 しかし、重複した商品名を入力できません(重複しないに設定しているため) 何故このようなことをするか?ですが、同じ商品でも購入日が違えば単価が違う場合があります。 ですので単価数量テーブルでは同じ商品名を使用する必要があります。 しかし、商品テーブルでは同じ商品名は必要ありません。 もちろん先に商品テーブルに商品名を入力すれば問題ありませんが、入力効率から言って問題あります。 さてここで質問なのですが、一対多の多から商品名を入力して一側に反映できないでしょうか? 一側にすでに同じ商品名がある場合は反映してはいけません。 ちないにVBAやSQLはコピペぐらいはできますが、書けませんのでご了承を。

  • ACCESS テーブル間のデータリンク

    こんにちは。 ほぼアクセス初心者です。 大学の頃に習った記憶といくつか購入した本を頼りに、実家の会社の仕入や在庫の管理データベースを作ろうとしています。 とりあえず商品データや仕入先データをテーブルにまとめました。 次にしたいのが年度末の棚卸の数量を入力しておくテーブルの作成です。 そこで先に作った商品データを元に棚卸入力用のテーブルを作ろうとしているのですが、テーブルのコピーくらいしかわかりません。 商品の種類が約1000種類前後あるんですが、先に作ったデータが完全なものではないこともあり、テーブルのコピーをした後にデータの入れ忘れや入れ間違いの訂正をする必要もあると思います。 そこで商品データで更新した情報を棚卸入力用のほうでも自動で更新するようにしたいのですが、何かいい方法があるのでしょうか? 過去の質問も探してみたのですが、専門用語はイマイチわかりませんでした。 ちなみに商品データと棚卸入力用のテーブルは次のようなフィールドで構成しています。 商品データ ・種別名 ・メーカー名 ・個別ナンバー(種別ごとに1~999を割り当ててます) ・商品名 ・備考 棚卸入力用 ・商品名 ・備考 ・事務所在庫数 ・車A在庫数 ・車B在庫数 どなたか宜しくお願いします。

  • Accessについて

    Access2003を使っています。 商品情報フォームに入力されたデータをAのテーブルには情報を新規フィールドで追加、 Bのテーブルへは、テーブルに商品番号をもとに入力した日の日付だけ追加したいのですが、 Aには問題なく入り、Bには反映されません。 初心者ですみませんがどうしたら動くのか教えて頂きたいです。 よろしくお願いいたします。

  • アクセスのクエリの特定のフィールドをテーブルにコピー

    アクセスのクエリの特定のフィールドをテーブルにコピー お世話になります。<(_ _)> 仕入管理入力フォームにて「仕入管理テーブル」へデータを入力して 「仕入管理テーブル」を基にクエリにて「管理番号」を作成しています。 入力終了後に、コマンドボタンを押してそのクエリの「管理番号」フィ ールドだけを別の「商品説明テーブル」の「管理番号」フィールドにコピー したいのですが… 参考サイト・参考書等で調べたのですが、クリック時イベントにどのように コードを書けばいいのか解りません。 宜しくお願い致します。 アクセス 超~初心者の質問ですみません<(_ _)>

  • Accessのテーブル結合方法

    Access2000で商品の仕入と売上の受払を一覧表にしようとしているのですがうまくいきません。 テーブルは商品仕入と、売上の2つがあって 仕入には荷受した日、商品コード、数量、仕入金額と値入金額、仕入先があります。 売上には売上した日、商品コード、レジ番号、利用者、数量、売上金額となっています。 この2つを1枚の表にして、商品コード別に在庫が動いた日、適用(売上ならレジ番号、利用者を表記して、仕入なら仕入先を明記)、仕入数量、仕入金額、値入金額、売上数量、売上金額となるようにしたいのですが、うまくいきません。 ユニオンクエリを使ったり、選択クエリで単純にならべたりしたのですが、私の知識ではどうにもならなくなりました。 よろしくご指導のほどお願いします。

  • アクセスで値を参照したい

    Win2000,Access2000を使用しています。 AB二つのテーブルに「仮番号」というフィールドがあり、同じ「仮番号」のレコードに同じ「伝票番号」をつけたいんです。 Aテーブル(お客様情報) Bテーブル(注文履歴) Aテーブルの「伝票番号」フィールドに番号を入力したら、BテーブルのAと同じ「仮番号」のレコードの「伝票番号」フィールドに番号が入力されるようにしたいのですが、どのようにVBまたは、フォーム上のテキストボックスのプロパティで組んだらよいのかわかりません。 Bテーブルには、過去の注文データもあるのですでに入力されているレコードには過去に受注した時の伝票番号入力されています。 新規入力したレコードに対してだけAと同じ伝票番号をつけたいのです。 Bテーブルで、         |商品名|価格  |伝票番号| 過去の受注データ|電卓 |¥500|1000  | 今回の受注データ|名刺 |¥800|2500  | と、こんな感じにしたいんですが うまく説明できず申し訳ありませんが、どうぞよろしくお願い致します。

  • アクセスSQL

    アクセス初心者です。 テーブルAに(売上日、商品A売上金額、商品B売上金額、支店)フィールドがあります。 売上日フィールドは重複あります。 次のクエリを定義するSQLはどのように記載すればいいでしょうか? 第一フィールド フィールド名:売上日リスト 内容:テーブルAの売上日を重複無しで全種類抜き出し日付順ソート。 第二フィールド フィールド名:商品Aラスト売上金額 内容:第一フィールドの売上日グループで、最後の商品A売上金額 第三フィールド フィールド名:商品Bラスト売上金額 内容:第一フィールドの売上日グループで、最後の商品B売上金額 以上よろしくお願い致します。

  • 在庫管理の仕組みで質問

    例えば商品テーブルに商品IDと商品名と在庫数、仕入販売テーブルには商品ID、仕入数、販売数、返品数のテーブルを作り、商品テーブルを親フォームに、仕入販売テーブルをサブフォームにしてフォームを作成したとします。 そこで商品を登録する際に、商品名を入力して、サブフォームに仕入数を50と入力したときに、在庫数も自動的に50になる方法が知りたいのですが、 どうすればいいかわかりません・・・。 ちょうどAccess2000のサンプル在庫管理がそういう仕組みではありますが、商品テーブルに在庫数フィールドがなく、どうなっているかわかりません・・・。 どうか教えていただけますようお願い致します!

  • ACCESSのリンクエラー

     「商品」テーブルと「仕入」テーブルで「1対多」のリレーションを構築し、この二つのテーブルからフォームを作成したのですが、「仕入サブフォーム」に新規Dataを追加しようとすると、 「”LinkMasuterFields/リンク親フィールド”プロパティの設定でエラー’このオブジェクトには、オートメーションオブジェクト’商品’は含まれません。’が発生しました。」 と出て、新規Dataを「仕入」サブフォームに入力しても「商品」テーブルとリンクされていません。  なんとか解決したいのですが、Helpだけでは良く判りません。どなたかよろしくお願いいたします。

  • ACCESSレポートで

    こんにちはACCESS初心者です さっそく質問ですが テーブル 顧客コード 区分 金額 A001    1   800 A001    2   1000 A002    2   1200 A003    1   700 A003    2   900 A004    1   500 上記の様なデータがあったとして、このデータを元に 商品コード 区分  金額 A001    1(仕入) 800        2(売上) 1000 A002    2(売上) 1200 A003    1(仕入) 700        2(売上) 900 A003    1(仕入) 500 の様に上の商品コードと同じ明細のときは区分と金額のみ(商品コードの所は空白)で出力したいのですが可能でしょうか? 回答よろしくお願いします。

専門家に質問してみよう