2016-05-16 22 views
1

123個の固有の原材料名を含む列と、OutgoingRawMaterialという別の列があります。考えられるのは、テーブルを見て、270単位の成分Aが会社などから離れることです。Microsoft Access重複出力先回避策

私は、希望の数字が含まれているクエリ 'qrySumManufacturingRawMaterials'からFigureを使って、関連するOutgoingRawMaterialを更新する更新クエリを作成したかったのです。問題は、私はすべての123件のレコードに対して同じことをやりたいと、これを実行する方法を知っている123個のクエリを作成する短いし、実行していないということです

Field: OutgoingRawMaterial 
Table: tblRawMaterialsManufactured 
Update to: [tblSumManufacturingRawMaterials Query].[Expr1] 
Criteria: [RawMaterial] Like "Raw Material 1*" 

:以下のように更新クエリは、個々のレコードのために正常に動作しますそれらはすべてマクロまたはVBAから取得します。私はまた、別の 'LIKE'を使用して123のRaw Materialsを使用して単一のクエリを作成して分離しましたが、「Duplicate Output Destination 'tblRawMaterialsManufactured.OutgoingRawMaterial'」を取得しました。 "OutgoingRawMaterial '

答えて

0

更新日:

以下の回答は、通常これを解決する方法です。 3列目が2列目に関連していないため、レコードの束を2列、合計が3列目にすることで、実際にはbad designとみなされます。 3番目の列がどのように機能するかをもっと理解するように教えてくれるでしょう。最初の2列には何百もの個別の値が含まれていますが、123個の合計(集計)値が含まれていますか?


最も簡単な方法は、すべてを削除してテーブルを再作成することです。たとえば、「qrySumManufacturingRawMaterials」が次のようなものを出力するとします。

Raw1 | 1

Raw2 | 2

...

そしてOutgoingRawMaterialは同じフォーマットを持って、あなただけのINSERT INTO SELECTを行うことができます。

DELETE FROM OutgoingRawMaterial; 
INSERT INTO OutgoingRawMaterial SELECT 'qrySumManufacturingRawMaterials' 

この上の多くのバリエーションがあります - クエリはあなたが別の列名を出力した場合の例については、 INSERT INTO OutgoingRawMaterial(Col1、Col2、...)にクエリを変更することができますので、さらに助けが必要な場合は質問を更新してください。

+0

こんにちはチャーリー、ありがとうございました。 これはうまくいくように見えますが、元のデザインがバレルの上に残っているという点でも正しいので、テーブルを削除して正規化します。 'INSERT INTO SELECT'はSQLで実行されますか、それともVBAでも実行できますか? – Juddles

+0

VBAはSQL以外のAccessと対話できないので、Accessドライバを使用してVBAによって実行されるSQL文です。ドキュメントをVBAで印刷すると考えてください。 VBAはプリンタについては何も知らず、プリンタドライバに印刷したいことを伝えることができます。 – Charlie

+0

@Juddles - これに関する更新はありますか?問題は解決しましたか? – Charlie