2016-05-16 686 views
1

我有一列包含123個獨特的原料名稱和另一個名爲OutgoingRawMaterial的列,想法是我們可以查看錶格並查看270個單位的成分A離開了公司等。Microsoft Access重複輸出目標解決方法

我想創建一個更新查詢,它將使用包含我想要的數字的查詢'qrySumManufacturingRawMaterials'中的圖來更新相關的OutgoingRawMaterial。更新查詢工作正常的個人記錄,如下圖所示:

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

的問題是,我想要做的所有123記錄相同,不知道如何做到這一點,短創建123個查詢和運行他們都來自宏或VBA。我還打算用全部123原材料創建一個查詢,使用不同的'LIKE'來隔離它們,但得到「重複輸出目標'tblRawMaterialsManufactured.OutgoingRawMaterial'」我可以確認我只有一列名爲'OutgoingRawMaterial 」。

回答

0

更新:

下面的答案是你通常如何解決這個問題。你試圖做到這一點的方式是讓2列有大量記錄,第3列與總和實際上被認爲是bad design,因爲你的第3列與前2列無關。你會告訴我更多的理解第三列是如何工作的 - 它是否包含123個總和(sum)值,而前兩列包含數百個單獨的值?


最簡單的方法是刪除所有內容並重新創建表格。例如,假設'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

除了通過SQL之外,VBA不能與Access交互,所以是的,這是一個由VBA使用Access驅動程序執行的SQL語句。把它想象成VBA打印文檔。 VBA對打印機一無所知,但它可以告訴打印機驅動程序它想要打印。 – Charlie

+0

@Juddles - 有關於此的任何更新?問題解決了嗎? – Charlie