|
|
1
2
一些观察结果,其中任何一个都不构成对您问题的回答,但可能会为您指明正确的方向: 更改空记录集的测试/何时停止循环。替换此代码:
……:
更改第二个记录集的使用方式。不要为每一行打开它一次,为该行筛选,但打开它时未筛选,并按以前筛选的值排序,然后使用findfirst进行导航:
…或使第二个记录集过时。更好的是,这里似乎只有一个值匹配,因为rs2从未经过第一个匹配,所以为什么不查看是否可以更改保存的querydef“dailysummarymain”以连接到dbo_StatusType,以便值就在单个记录集中?那你就不需要RS2了。 用序数引用字段通常是非常不明智的。通过在源select语句的任何位置(而不是select语句的末尾)添加一个新字段,很容易完全破坏例程。因此,将序号更改为实际字段名,使rs(0)变为rs(“nameoffirstfield”)。 使用select case而不是chained if/then/else if/else。更改此代码:
……
或者,因为除了一种情况外,其他情况都可以从值构造,所以请执行以下操作:
上下文并不完全清楚(行和行项目的含义不清楚——它们的变量是某种类型的对象吗?),所以最后一个可能不起作用(eval()在它看起来应该起作用的情况下并不总是起作用),所以我可能会选择这个案例。 Excel可能需要.value,但Access不需要。改变这一点:
……
您可能也不需要它作为公式的excel部分。 |
|
|
2
2
65536是有效的,因为它的1大于可以存储在16位无符号整数中的最大值。所以有些东西溢出了。
这不会是一个有符号的VBA整数,但我仍然会替换
是否在禁用错误处理的情况下运行它以查看是否引发了任何错误?
至于调试,您可以切换到ADO,运行一次并将结果保存到磁盘(
|