2015-09-10 138 views
0

我有一个子程序,它使用来自SQL DB的数据填充单元格。下面是我遇到的麻烦的代码示例:填充记录集值的单元格中的空格

​​

与代码的问题是,它ocassionally填充与记录字段值与开头一个空间单元。我不知道为什么会发生这种情况,而且这非常麻烦。

我对立即窗口进行了疑难解答,发现这个问题更加奇怪。通过运行代码的特定counter返回一个额外的空间后,直接停止,我得到如下结果:

?varRecordset.Fields(varTempInt - 1).Value 
1517 
?Cells(varTempInt + 1, 2).Value 
1517 

要解释,我刚从拉记录字段的值有没有空间,但它被放置的单元格的值在开始时包含一个空格。

为什么会发生这种情况,我该如何预防它?

编辑1:是的,我知道我可以使用Trim()功能,但我真的不想增加额外的步骤,这不应该是必要的。如果这是唯一的选择,但我希望有人首先解释问题。

回答

0

它显示为不一致的原因是因为记录集字段值存储为String,而单元格值存储为Int。这与在即时窗口中出现如此奇怪的原因相同:前后的空格表示值为Int,而字符串以相同方式出现。

解决这个问题的方法很简单,就是在比较它们之前给每个值加上CStr()

相关问题