以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  无法在 System.Decimal 和 System.String 上执行“=”操作。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100147)

--  作者:bagih
--  发布时间:2017/5/5 15:38:00
--  无法在 System.Decimal 和 System.String 上执行“=”操作。
哪位老师帮忙看下,原来可以用,升级到开发版2017-4-22后报错了,该怎么改?谢谢
错误提示:无法在 System.Decimal 和 System.String 上执行“=”操作。
本代码如下:
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮

    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("入账表").StopRedraw()
    Dim nms() As String ={"序号","日期","保险人","险种","使用性质","保单号","投保人","被保险人","保费","业务员","业务员卡号","引荐人","起保时间","备注"}

     For n As Integer = 1 To Sheet.Rows.Count -1 
       Dim bdh As String = sheet(n,5).Text \'保单号
       Dim bf As String = sheet(n,8).Text \'保费

    If DataTables("入账表").Find("保单号 = \'" & bdh & "\' and 保费 = \'" & bf & "\'") Is Nothing Then \'如果不存在重复的记录;

          Dim r As Row = Tables("入账表").AddNew()
             For m As Integer = 0 To nms.Length - 1
                              If DataTables("入账表").DataCols(nms(m)).IsNumeric Then
                              r(nms(m)) = Val(Sheet(n,m).Value)
                              Else
                                    If Tables("入账表").cols(nms(m)).IsDate Then
                                        Dim d As Date
                                             If Date.TryParse(Sheet(n,m).Value,d) Then
                                                 r(nms(m)) = d
                                             End If
                                    Else
                                        r(nms(m)) = Sheet(n,m).Value
                                    End If
                              End If

      Next


    End If
Next
End If
[此贴子已经被作者于2017/5/5 15:38:28编辑过]

--  作者:有点色
--  发布时间:2017/5/5 15:42:00
--  

你这两个列,都是数值列?那就改成

 

Dim bdh As String = val(sheet(n,5).Text) \'保单号

Dim bf As String = val(sheet(n,8).Text) \'保费

--  作者:bagih
--  发布时间:2017/5/5 15:44:00
--  
谢谢,我试试