当前位置:编程学习 > VB >>

vb中adodb连接excel时给单元格为Null的设置值错误

问题是这样的:用adodb连接excel,当excel中第一列的值为Null时,给它一个新的值,发现大多数情况下导入数据当遇到Null时给赋给新值是可以的,但有个别的excel中存在的数据导入后当遇到Null的时候,能够辨别出来,可赋给新值时却出错了。不知道这到底是什么原因引起的。大家帮忙分析一下。谢谢
        
        gddm = Replace(IIf(IsNull(rec1.Fields(field_gddm).Value), "", rec1.Fields(field_gddm).Value), " ", "")
        If gddm = "" Then //获得股东代码的值,判断是否为空,为空的话,将值替换成股东简称(field_gdjc),并去掉空格
            gddm = Replace(IIf(rec1.Fields(field_gdjc).Value <> "", rec1.Fields(field_gdjc).Value, rec1.Fields(field_gdqc).Value), " ", "")
            
            If gddm = "" Then GoTo nextgddm   '非法的股东代码被丢弃
        End If
       
        rec1.Fields(field_gddm).Value = gddm //处理后赋给这行的单元格,出错了。 --------------------编程问答-------------------- 是否该列设置了格式,你数据不适合这个格式 --------------------编程问答-------------------- Replace的用法是错误的,它只适合将非空字符做相应替换,不适于替换""为非空字串。 --------------------编程问答-------------------- 经验证,的确是被赋值的列设置了其他的格式造成的,那怎样用ado的方法改变excel所有单元格的格式为“通用格式”呀?因为这个程序用的是ado连接的excel。 --------------------编程问答--------------------
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,