0

上記の図から、必要な在庫量を合計する必要があります 関係

  • 特定の自転車の販売金額の合計
  • 特定のバイクの生産量の合計

次に、合計を「InStock」に保存します

クエリを作成しようとしましたが、どれも思い通りに動作しないようです。誰か助けてくれませんか?これはかなり単純なはずです。

4

1 に答える 1

1

在庫テーブルを持つ必要があります。BikeInfo は Part Production であり、Sales は在庫の追加と削除に関してのみ影響を与えます。

スクラップ、または在庫調整、またはプロビジョニングと言うように、自転車を販売済みとしてマークして、再度販売しないようにするか、「在庫」が十分にあるためにもう作成する必要がないようにします。

返品をどのように記録するか、この質問を自問してください。BikesReturned テーブルを持つことができます。これで、在庫が生成されます - 販売 + 返品... 次は、BikesWeCannotFindInStock テーブルと BikesWeDoNotKNowWhereThisCameFrom テーブルです :) または、BikesSold の TotalSold を変更できます...

私はこの種のシステムで多くのことを行ってきましたが、あなたはこれらのルートをたどりたくないでしょう、私を信じてください.

PS bikeinfo の cost を bikesold の販売価格に関連付けようとすると、同様の問題が発生します。コストがコストなのか、価格なのか価値なのかによって、どれくらいの量になるかが決まります。3つの異なる数字...

スキーマ内の現在の位置を取得するために、Access で入れ子結合を実行できるかどうかを思い出せません

QProduction というクエリを作成します。

Select BikeID,Sum(Built) as Produced From Production Group By BikeID

もう1つはqSalesと呼ばれる

Select BikeID, Sum(TotalSold) as Sold From BikesSold Group By BikeID

次に、それは言う外部結合のカップルです

Select b.BikeName,p.Produced, s.Sold (p.Produced - s.Sold) as [In Stock] 
From BikeInfo b
left join qProduction p On p.BikeID = b.ID
Left Join qSales s on s.BikeID = b.ID

テストされていないため、タイプミスがある可能性がありますが、アイデアは健全です。

設計上の大きな問題は、録音または制作で何か問題が発生した場合、在庫が何であるか見当がつかないことです。それを調整する唯一の方法は、ダミーの制作または販売記録を作成することです。

更新クエリの編集

Select b.ID, (p.Produced - s.Sold) as [In Stock] 
From BikeInfo b
left join qProduction p On p.BikeID = b.ID
Left Join qSales s on s.BikeID = b.ID

それをqInStockと呼びます

それから

Update BikeInfo b
Set b.InStock = q.[In Stock]
inner join qInStock q On q.ID = b.ID

仕事をすべき

これは非常に複雑です。在庫テーブルがあればいいのにと思います。

于 2013-03-03T13:23:33.297 に答える