Microsoft Access重复输出目标解决方法

时间:2016-05-16 13:47:54

标签: ms-access access-vba

我有一个包含123个独特原材料名称的列和另一个名为OutgoingRawMaterial的列,我们的想法是,我们可以查看该表,看到270个成分A单位离开公司等。

我想创建一个更新查询,用查询'qrySumManufacturingRawMaterials'中的数字更新相关的OutgoingRawMaterial,其中包含我想要的数字。更新查询适用于单个记录,如下所示:

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

问题是我想对所有123条记录执行相同操作,并且不知道如何执行此操作,缺少创建123查询并从宏或VBA运行它们。我还要用所有123个原材料创建一个查询,使用不同的“LIKE”来隔离它们,但得到“Duplicate Output Destination”tblRawMaterialsManufactured.OutgoingRawMaterial'“我可以确认我只有一个名为'OutgoingRawMaterial的列”。

1 个答案:

答案 0 :(得分:0)

更新:

以下答案是您通常如何解决这个问题。通过使用包含一堆记录的第2列和具有总和的第3列来尝试执行此操作的方式实际上被视为bad design,因为您的第三列与前两列无关。您已经告诉我更多了解第三列将如何工作 - 它是否包含123个总和(聚合)值,而前两列包含数百个单独的值?

最简单的方法是删除所有内容并重新创建表格。例如,让我们说“qrySumManufacturingRawMaterials”' qrySumManufacturingRawMaterials'输出这样的东西:

Raw1 | 1

Raw2 | 2

...

OutgoingRawMaterial具有相同的格式,您只需执行INSERT INTO SELECT

DELETE FROM OutgoingRawMaterial; 
INSERT INTO OutgoingRawMaterial SELECT 'qrySumManufacturingRawMaterials'  

这有很多变化 - 例如,如果查询输出不同的列名,您可以将查询更改为INSERT INTO OutgoingRawMaterial(Col1,Col2,...),因此如果您需要更多帮助,请更新问题。