以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于这个代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=141058)

--  作者:ygg8310
--  发布时间:2019/9/20 12:11:00
--  关于这个代码

Tables("表A").StopRedraw()

For Each file As String In filesys .GetFiles("D:\\提取测试\\测试1")

    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then

        Dim  Book As New XLS.Book(file)

        Dim  Sheet As XLS.Sheet = Book.Sheets(0)

        \'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致

        Dim nms() As  String = {"第一列","第二列","第三列","第四列"}

        \'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题

        For n As Integer = 1 To Sheet.Rows.Count -1

            Dim bh0 As String = sheet(n,0).Text \'注意:EXCEL的第A列就是0

            Dim bh1 As String = sheet(n,1).Text  \'注意:EXCEL的第B列就是1

            Dim bh2 As String = sheet(n,2).Text

            Dim bh3 As String = sheet(n,3).text

                       If DataTables("表A").Find("第一列 = \'" & bh0 & "\' And 第二列 = \'" & bh1 & "\' And 第三列 = \'" & bh2 & "\'","date desc" And 第四列 = \'" & bh3 & "\'") Is Nothing Then  \'如果不存在同编号的订单

                Dim r As  Row = Tables("表A").AddNew()

                For  m As  Integer = 0 To nms.Length - 1

                    r(nms(m)) = Sheet(n,m).Value

                Next

            End If

        Next

        Tables("表A").ResumeRedraw()

    End If

Next

[此贴子已经被作者于2019/9/20 12:44:04编辑过]

--  作者:ygg8310
--  发布时间:2019/9/20 12:13:00
--  

[此贴子已经被作者于2019/9/20 12:44:38编辑过]

--  作者:ygg8310
--  发布时间:2019/9/20 12:45:00
--  
这个为什么不对呢?
--  作者:有点蓝
--  发布时间:2019/9/20 14:06:00
--  
什么错误?什么地方不对?
--  作者:ygg8310
--  发布时间:2019/9/20 14:12:00
--  
第四列,可能因为保护级别而不可访问


--  作者:ygg8310
--  发布时间:2019/9/20 14:14:00
--  
If DataTables("表A").Find("第一列 = \'" & bh0 & "\' And 第二列 = \'" & bh1 & "\' And 第三列 = \'" & bh2 & "\'","date desc" And 第四列 = \'" & bh3 & "\'") Is Nothing Then
我标注了一下,这个标注的位置,在命令窗口里面是灰色的

--  作者:有点蓝
--  发布时间:2019/9/20 14:24:00
--  
If DataTables("表A").Find("第一列 = \'" & bh0 & "\' And 第二列 = \'" & bh1 & "\' And 第三列 = \'" & bh2 & "\' And 第四列 = \'" & bh3 & "\'","date desc") Is Nothing Then
--  作者:ygg8310
--  发布时间:2019/9/20 14:40:00
--  
代码执行出错,无法找到date,那个第三列,bh2是日期,第四列,hn3是整数
If DataTables("表A").Find("产品 = \'" & bh0 & "\' And 物料 = \'" & bh1 & "\' And 发货时间 = \'" & bh2 & "\' And 金额 = \'" & bh3 & "\'","date desc") Is Nothing Then


--  作者:有点蓝
--  发布时间:2019/9/20 14:43:00
--  
整数去掉单引号
--  作者:ygg8310
--  发布时间:2019/9/20 14:56:00
--  

If DataTables("表A").Find("产品 = \'" & bh0 & "\' And 物料 = \'" & bh1 & "\' And 发货时间 = \'" & bh2 & "\' And 金额 = \'" & bh3 & "\',"date desc") Is Nothing Then

datarow的值无法转换成boolean