【问题标题】:Type conversion failure in update query更新查询中的类型转换失败
【发布时间】:2014-09-03 13:18:34
【问题描述】:

我对 Access 还很陌生,所以这让我有点抓狂。

我正在创建一个库存数据库,并希望计算库存商品的数量以更新订购单。收到的物品被分配了一个订单代码,我想计算在主表中找到的每个订单代码的实例数。我有一个生成表查询,可以很好地做到这一点:

SELECT PrimerList.PrimerName
    , First(Primer_Master.FR) AS FR
    , Primer_Master.OrderCode
    , Count(Primer_Master.OrderCode) AS InStock
INTO PrimerOrder
FROM PrimerList
LEFT JOIN Primer_Master ON PrimerList.ID = Primer_Master.PrimerName
GROUP BY PrimerList.PrimerName
        , Primer_Master.OrderCode
        , Primer_Master.PrimerName
        , Primer_Master.FR
        , Primer_Master.Finished
HAVING ((([Primer_Master]![Finished])=No));

我想使用 PrimerOrder 更新一个订单列表表 PrimerOrderList,它包含所有不同的可能订单代码,更新具有匹配 OrderCode 的记录的 InStock 值:

UPDATE PrimerOrderList 
SET PrimerOrderList.InStock = PrimerOrder.InStock
WHERE (((PrimerOrderList.OrderCode)=[PrimerOrder].[OrderCode]));

但是,当我尝试运行它时,我会弹出参数框,要求输入 PrimerOrder.OrderCode 和 PrimerOrderList.OrderCode。即使我为每个输入一个有效值,我也会遇到类型转换失败。我已经检查了两个表的数据类型,但没有看到类型转换失败的原因 - 两者都设置为文本。

任何见解将不胜感激!提前致谢!

【问题讨论】:

    标签: sql type-conversion ms-access-2007


    【解决方案1】:

    您的查询中没有包含 PrimerOrder 表。应该是:

    UPDATE PrimerOrderList INNER JOIN PrimerOrder 
    ON PrimerOrderList.OrderCode = PrimerOrder.OrderCode
    PrimerOrderList.InStock = PrimerOrder.InStock
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-11
      • 2014-02-03
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多