简单查询返回“您尝试将 Null 值分配给不是 Variant 数据类型的变量”错误

Simple query returning "you tried to assign the Null value to a variable that is not a Variant data type" error

提问人:ElphiusMostafa 提问时间:11/2/2023 最后编辑:June7ElphiusMostafa 更新时间:11/13/2023 访问量:47

问:

查询如下:

UPDATE T_Incoming 
SET T_Incoming.upnx = [CUPN] + [C] / 10, 
    T_Incoming.cupnx = [CUPN] + [C] / 10, 
    T_Incoming.UPN = IIF([UPN] IS NULL, [CUPN], [UPN]), 
    T_Incoming.cupnxp = [CUPN] + [C] / 10 + 0.01, 
    T_Incoming.cupnxpi = [CUPN] + [C] / 10 + 0.011
WHERE (((T_Incoming.ADD) = True));

我已经使用这个查询多年了,没有任何问题,它只是突然出现。关于为什么会这样的想法吗?

下面是它从单行数据接收的输入示例:

upnx: 123456789
cupnx: null
UPN: null
CUPN: 50527
cupnxp: null
cupnxpi: null
ADD: -1

下面是 SQL Server 表中的数据类型:

upnx: float
cupnx: float
UPN: float
CUPN: float
cupnxp: float
cupnxpi: float
ADD: bit
访问SQL MS-Access

评论

0赞 June7 11/2/2023
有些事情发生了变化。您确定以前处理过数据吗?什么是[C]?
0赞 ElphiusMostafa 11/3/2023
[C] 只是我们用来跟踪一个人购买次数的浮点数。因此,CUPN 是在首次购买时分配的 ID,而 C 用于创建添加到 CUPN 上的小数点。因此,一次购买会创建一个 0.1 的添加。两次购买将增加 0.2。事实证明,问题以某种方式自行解决。错误现在已经完全消失了!不知道发生了什么......

答:

0赞 ElphiusMostafa 11/3/2023 #1

我对此没有答案。但问题似乎已经自行解决。我不知道怎么做,但错误不再出现。

评论

0赞 Andre 11/3/2023
我的猜测是表中有一条 CUPN = NULL 的记录。