我们的产品详情有Access 2013数据库,我在Access工作了大约一个月。我们在表1中有SKU的字段以及类别,描述等。
现在我需要在表1中添加更多字段,包括权重列和缺货消息列。
我们设置它只允许一个SKU实例,没有重复。我认为这就是为什么当我尝试导入我的Excel文件时使用权重&消息,导入失败,因为所有“记录都因密钥违规而丢失”。我的文件没有其他错误。我也在分裂数据库的前端工作,如果这有所不同。
因此,我将Excel文件导入到新表中(表2)。我正在尝试运行UPDATE查询,但我在标准方面遇到了困难。
例如,在SKU F496,K4492-92和P49201上,我需要更新它们的空白重量&表1中的消息字段,表2中的值用于权重和消息(所有权重和消息都是唯一的)。这将适用于2000多种产品。
这似乎是一个基本的东西,我搜索和搜索但也许我没有正确的短语。
答案 0 :(得分:1)
首先从查询设计器的“设计视图”构建SELECT
查询。选择两个表,然后右键单击每个表的标题以为表名指定别名:t1
用于Table 1
;和t2
Table 2
。接下来,在SKU
字段之间拖一行,在它们之间创建INNER JOIN
。将SKU
中的weight
,message
和Table 1
字段添加到设计网格中。运行查询(切换到数据表视图)以确认结果是否合理。如果您然后切换到SQL View,您应该看到类似于此的声明...
SELECT
t1.SKU,
t1.weight,
t1.message
FROM
[Table 1] AS t1
INNER JOIN [Table 2] AS t2
ON t1.SKU = t2.SKU;
如果没问题,请切换回“设计视图”,找到“设计”功能区的“查询类型”部分,并将类型更改为“更新”。在weight
字段下的“更新至:”行中,输入 [t2]。[weight] 。并在message
下输入 [t2]。[message] 。
当你再次切换到SQL View时,你应该看到这样的语句......
UPDATE
[Table 1] AS t1
INNER JOIN [Table 2] AS t2
ON t1.SKU = t2.SKU
SET
t1.weight = [t2].[weight],
t1.message = [t2].[message];
如果看起来没问题,请执行查询。如果更新无法按预期工作,请复制语句文本,将其粘贴到您的问题中,包含任何错误消息的全文,并解释结果与您所需的结果有何不同。