【问题标题】:Why am I asked for "Enter parameter value" when running update query in MS Access?为什么在 MS Access 中运行更新查询时要求“输入参数值”?
【发布时间】:2019-04-02 17:57:18
【问题描述】:

我一直在努力解决我的问题,但不知道它有什么问题。我不是高级 SQL 用户,但对 SQL 有一定的了解。

我有两张表,我正在尝试使用另一张表中的字段更新一个字段。它们在每个中都没有唯一标识符,因此需要与三个字段(HoleID、From、To)匹配,尤其是因为表 LEAPFROG_Lithology 的 From/To 记录比 Lithology 表中的记录更多。

我已经寻找过类似主题的问题,并尝试了我的查询的不同变体,但没有任何工作,它总是要求我“输入参数值”。 我尝试使用像 oneone 这样的内部关节,但它不起作用。

这是我尝试过的:

版本 1

Update LEAPFROG_Lithology 
SET LEAPFROG_Lithology.Primary_litho = (
SELECT Lithology.Primary_litho 
FROM Lithology
RIGHT JOIN LEAPFROG_Lithology ON (
    Lithology.[HoleID] = LEAPFROG_Lithology.[HoleID] and 
    Lithology.[From_m] = LEAPFROG_Lithology.[From_m] and 
    Lithology.[To_m] = LEAPFROG_Lithology.[To_m])) 
Where LEAPFROG_Lithology.Primary_litho is null  ;

第 2 版(也尝试使用 INNER JOIN)

Update LEAPFROG_Lithology
LEFT JOIN Lithology ON (
    LEAPFROG_Lithology.[HoleID] = Lithology.[HoleID] and 
    LEAPFROG_Lithology.[From_m] = Lithology.[From_m] and 
    LEAPFROG_Lithology.[To_m] = Lithology.[To_m]) 
SET LEAPFROG_Lithology.Primary_litho = Lithology.Primary_litho 
Where LEAPFROG_Lithology.Primary_litho is null  ;

我在任何地方都尝试了 [ ],但没有。这没什么区别。

谁能告诉我我做错了什么? 谢谢!

【问题讨论】:

  • 当您输入列名或表名时,您通常会收到该消息。它会给你它正在寻找的“参数”的名称吗?
  • 您能否发布您的LEAPFROG_LithologyLithology 表/查询的屏幕截图?
  • 它要求哪个参数?而且只有一个弹出框?
  • @ArcherBird,它只要求我提供一个参数,“Lithology.Primary_litho”。
  • 这实际上是一个错字……。 -_-"

标签: sql ms-access join sql-update subquery


【解决方案1】:

请验证表和字段的名称是否正确。如果是这样,第二个查询应该可以工作。

但我建议使用稍微不同的括号,这样您就可以显示查询的图形设计视图。此外,不需要使用 LEFT JOIN,因为对于没有 Primary_litho 且没有匹配 Lithology 的记录,NULL 值将使用 NULL 值更新。所以这应该没有任何问题:

UPDATE LEAPFROG_Lithology
INNER JOIN Lithology ON 
   (LEAPFROG_Lithology.[HoleID] = Lithology.[HoleID]) AND
   (LEAPFROG_Lithology.[From_m] = Lithology.[From_m]) AND
   (LEAPFROG_Lithology.[To_m] = Lithology.[To_m])
SET LEAPFROG_Lithology.Primary_litho = Lithology.Primary_litho 
WHERE LEAPFROG_Lithology.Primary_litho Is Null;

【讨论】:

    【解决方案2】:

    在使用 JOIN 之前,请确保您的两个表可以形成关系,您需要确保一个表中的 PRIMARY KEY 对应于另一个表中的 FOREIGN KEY 才能加入它们。

    Access 让您可以使用设计视图来创建查询,如果您不熟悉 SQL,这很容易。可视化设计后,您可以切换到 SQL 视图来查找代码。

    【讨论】:

      猜你喜欢
      • 2011-05-13
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多