运行此行时,我在Access中收到溢出错误
intAT = Nz(DLookup("at_ID", "qryAT", "at_sc_ID=" & Me.sc_ID & " AND at_OT=0"), 0)
如果我Debug.Print Nz(DLookup("at_ID", "qryAT", "at_sc_ID=" & Me.sc_ID & " AND at_OT=0"), 0)
在该行之前添加,它会很好地打印id号,但在下一行的分配过程中仍然会出错。
我还可以通过在查询中添加一个条件来使其工作,该条件将所有结果限制为在特定日期和时间之前发生的结果。它只能将查询限制在该特定时间之前,而不是在更早的时间之后。如果包括该时间之后的任何记录,它将再次溢出。我查看了那段时间之后输入的数据,看起来一切都很好,但是我不确定应该寻找什么。在at_ID
与导致它失败的记录相关联是32838
没有什么帮助的。
我的猜测是intAT
被声明为Integer类型。但是32,838对于整数来说太大了。(整数可以保存从–32,768到32,767的数字),因此将触发错误#6 “ Overflow”。
请改用长整数。
Dim lngAT As Long
lngAT = Nz(DLookup("at_ID", "qryAT", "at_sc_ID=" & Me.sc_ID & " AND at_OT=0"), 0)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句