以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  导入数据出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=129660)

--  作者:青丘狐
--  发布时间:2019/1/3 13:06:00
--  导入数据出错


图片点击可在新窗口打开查看此主题相关图片如下:出错.jpg
图片点击可在新窗口打开查看

 
系统经有出现上图的错误提示也不知道什么意思 

 

 

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls;*.xlsx"  \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("汽运公司发货明细").StopRedraw()
    \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
    Dim nms() As String = {"日期","装货点","卸货点","品种","规格","件数","吨位","车号","单价"}
    \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim rq As String = sheet(n,0).Text
        Dim pz As String = sheet(n,3).Text
        Dim gg As String = sheet(n,4).Text
        Dim js As String = sheet(n,5).Text
        Dim dw As String = sheet(n,6).Text
        Dim ch As String = sheet(n,7).Text
        If DataTables("汽运公司发货明细").Find("车号 = \'" & ch & "\' and 品种 = \'" & pz & "\' and 日期 = \'" & rq & "\' and 规格 = \'" & gg & "\' And 件数 = \'" & js & "\'And 吨位 = \'" & dw & "\'" ) Is Nothing Then \'如果不存在同编号的订单
           
            Dim r As Row = Tables("汽运公司发货明细").AddNew()
            For m As Integer = 0 To nms.Length - 1
                r(nms(m)) = Sheet(n,m).Value
            Next
        End If
    Next
    Tables("汽运公司发货明细").ResumeRedraw()
   

End If


 

 

开始可以导入数据的,现在导入就提示错误

 

NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,汽运公司发货明细,Button1,Click
详细错误信息:
无法在 System.DateTime 和 System.String 上执行“=”操作。

 

检查了下也不知道问题在哪,请老师帮忙看看

 

 

 

 

 

[此贴子已经被作者于2019/1/3 13:07:21编辑过]

--  作者:有点甜
--  发布时间:2019/1/3 15:13:00
--  

DataTables("汽运公司发货明细").Find("车号 = \'" & ch & "\' and 品种 = \'" & pz & "\' and 日期 = \'" & rq & "\' and 规格 = \'" & gg & "\' And 件数 = \'" & js & "\'And 吨位 = \'" & dw & "\'" )

 

改成

 

DataTables("汽运公司发货明细").Find("车号 = \'" & ch & "\' and 品种 = \'" & pz & "\' and 日期 = #" & rq & "# and 规格 = \'" & gg & "\' And 件数 = \'" & js & "\'And 吨位 = \'" & dw & "\'" )


--  作者:青丘狐
--  发布时间:2019/1/3 15:52:00
--  

.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,汽运公司发货明细,Button1,Click
详细错误信息:
表达式包含无效的日期常量“## and 规格 = \'\' And 件数 = \'\'And 吨位 = \'\'”。

 

改成 日期 = #" & rq & "#  通不过


--  作者:有点甜
--  发布时间:2019/1/3 16:12:00
--  

你应该判断一下,rq、gg、js、dw等值是不是为空的,为空的时候合成的条件不一样,如

 

Dim rq As String = sheet(n,0).Text
Dim pz As String = sheet(n,3).Text
Dim gg As String = sheet(n,4).Text
Dim js As String = sheet(n,5).Text
Dim dw As String = sheet(n,6).Text
Dim ch As String = sheet(n,7).Text
Dim filter As String = "1=1"
If ch = Nothing Then
    filter &= " and 车号 is null"
Else
    filter &= " and 车号 = \'" & ch & "\'"
End If
If pz = Nothing Then
    filter &= " and 品种 is null"
Else
    filter &= " and 品种 = \'" & pz & "\'"
End If
msgbox(filter)

If DataTables("汽运公司发货明细").Find(filter) Is Nothing Then \'如果不存在同编号的订单