2015-09-10 60 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()

相關問題