以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]这是什么意思,请专家解读  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47654)

--  作者:hrw68529
--  发布时间:2014/3/14 11:01:00
--  [讨论]这是什么意思,请专家解读
这是怎么了:
--  作者:hrw68529
--  发布时间:2014/3/14 11:01:00
--  
请看图片:
图片点击可在新窗口打开查看此主题相关图片如下:截图00.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/3/14 11:11:00
--  
 " " 这个空值字符串 无法转换为 DOUble 类型 也就是数值类型.

错误代码在 button6. Click 事件 把里面的代码发出来  你试图把空值转为数值类型.

--  作者:hrw68529
--  发布时间:2014/3/14 14:39:00
--  
是下边的一段代码,请赐教!
For Each file As String In filesys .GetFiles(ProjectPath & "\\提取数据")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Dim bh As String = sheet(3,3).Text
        If Tables("直接提取_Table1").DataTable.Find("单位名称 = \'" & bh & "\'") Is Nothing Then \'如果不存在同编号的订单
            Dim dr As DataRow = Tables("直接提取_Table1").DataTable.AddNew
            dr("单位名称") = sheet(3,3).Text
            dr("领导职数_正处级_实配数") = sheet(4,6).text
            dr("领导职数_副处级_实配数") = sheet(4,11).text
            dr("领导职数_正科级_实配数") = sheet(11,6).text
            dr("领导职数_副科级_实配数") = sheet(11,11).text
            dr("非领导职数_正处级_实配数") = sheet(18,6).text
            dr("非领导职数_副处级_实配数") = sheet(18,11).text
            dr("非领导职数_正科级_实配数") = sheet(24,6).text
            dr("非领导职数_副科级_实配数") = sheet(24,11).text
            dr("领导职数_县处级超配原因及超配数_超机构规格提拔") = sheet(6,6).Text
            dr("领导职数_县处级超配原因及超配数_违规设置领导职务名称") = sheet(7,6).text
            dr("领导职数_县处级超配原因及超配数_违规党政分设") = sheet(8,6).text
            dr("领导职数_县处级超配原因及超配数_换届政策") = sheet(9,6).text
            dr("领导职数_县处级超配原因及超配数_其他原因") = sheet(10,6).text
            dr("领导职数_县处级超配原因及超配数_违规提高干部职级待遇") = sheet(6,10).text
            dr("领导职数_县处级超配原因及超配数_任职年龄层层递减") = sheet(7,10).text
            dr("领导职数_县处级超配原因及超配数_军转安置") = sheet(8,10).text
            dr("领导职数_县处级超配原因及超配数_机构改革") = sheet(9,10).text
            dr("领导职数_乡科级超配原因及超配数_超机构规格提拔") = sheet(13,6).Text
            dr("领导职数_乡科级超配原因及超配数_违规设置领导职务名称") = sheet(14,6).text
            dr("领导职数_乡科级超配原因及超配数_违规党政分设") = sheet(15,6).text
            dr("领导职数_乡科级超配原因及超配数_换届政策") = sheet(16,6).text
            dr("领导职数_乡科级超配原因及超配数_其他原因") = sheet(17,6).text
            dr("领导职数_乡科级超配原因及超配数_违规提高干部职级待遇") = sheet(13,10).text
            dr("领导职数_乡科级超配原因及超配数_任职年龄层层递减") = sheet(14,10).text
            dr("领导职数_乡科级超配原因及超配数_军转安置") = sheet(15,10).text
            dr("领导职数_乡科级超配原因及超配数_机构改革") = sheet(16,10).text
            dr("非领导职数_县处级超配原因及超配数_超机构规格提拔") = sheet(20,6).Text
            dr("非领导职数_县处级超配原因及超配数_任职年龄层层递减") = sheet(21,6).text
            dr("非领导职数_县处级超配原因及超配数_换届政策") = sheet(22,6).text
            dr("非领导职数_县处级超配原因及超配数_其他原因") = sheet(23,6).text
            dr("非领导职数_县处级超配原因及超配数_违规提高干部职级待遇") = sheet(20,10).text
            dr("非领导职数_县处级超配原因及超配数_军转安置") = sheet(21,10).text
            dr("非领导职数_县处级超配原因及超配数_机构改革") = sheet(22,10).text
            dr("非领导职数_乡科级超配原因及超配数_超机构规格提拔") = sheet(26,6).Text
            dr("非领导职数_乡科级超配原因及超配数_任职年龄层层递减") = sheet(27,6).text
            dr("非领导职数_乡科级超配原因及超配数_换届政策") = sheet(28,6).text
            dr("非领导职数_乡科级超配原因及超配数_其他原因") = sheet(29,6).text
            dr("非领导职数_乡科级超配原因及超配数_违规提高干部职级待遇") = sheet(26,10).text
            dr("非领导职数_乡科级超配原因及超配数_军转安置") = sheet(27,10).text
            dr("非领导职数_乡科级超配原因及超配数_机构改革") = sheet(28,10).text
            dr("编制文件名称") = sheet(30,3).text
        End If
    End If
Next

--  作者:Bin
--  发布时间:2014/3/14 14:41:00
--  
你某一列是数值列,但是你用空字符串为它赋值了

建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

--  作者:狐狸爸爸
--  发布时间:2014/3/14 14:44:00
--  

举例来说:

 

 dr("领导职数_正处级_实配数") = sheet(4,6).text

 

如果sheet(4,6)为空,上面的代码肯定出错,因为“领导职数_正处级_实配数”是数值列。

 

应该:

 

if sheet(4,6).text >"" then

    dr("领导职数_正处级_实配数") = sheet(4,6).text

end if


--  作者:lsy
--  发布时间:2014/3/14 14:44:00
--  

用Return也可以找出出错的代码,字数少。