Foxtable(狐表)用户栏目专家坐堂 → 老师您好,我想问一下如何跳过相同的单号导入的时候


  共有3218人关注过本帖树形打印复制链接

主题:老师您好,我想问一下如何跳过相同的单号导入的时候

帅哥哟,离线,有人找我吗?
aaa1234
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
老师您好,我想问一下如何跳过相同的单号导入的时候  发帖心情 Post By:2021/8/30 14:57:00 [显示全部帖子]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim dict As new Dictionary(of String,String)
    For m As Integer = 0 To nms.Length - 1
        dict.add(nms2(m),nms(m))
    Next
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("table_3").StopRedraw()
    '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count -1
        If  Sheet(n,0).text > "" Then
            Dim r As Row = Tables("table_3").AddNew()
            For m1 As Integer = 0 To Sheet.Cols.Count - 1
                If dict.ContainsKey(Sheet(0,m1).Value)
                    r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value
                End If
            Next
    r("处理人") = user.name
        End If
    Next
    Tables("table_3").ResumeRedraw()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 15:19:00 [显示全部帖子]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim dict As new Dictionary(of String,String)
    For m As Integer = 0 To nms.Length - 1
        dict.add(nms2(m),nms(m))
    Next
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("table_3").StopRedraw()
    '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count -1
           If  Sheet(n,0).text > "" Then
             If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then 
            Dim r As Row = Tables("table_3").AddNew()
            For m1 As Integer = 0 To Sheet.Cols.Count - 1
                If dict.ContainsKey(Sheet(0,m1).Value)
                    r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value
                End If
            Next
    r("处理人") = user.name
        End If
    Next
    Tables("table_3").ResumeRedraw()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 15:19:00 [显示全部帖子]

这样吗老师 报错呀

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 16:33:00 [显示全部帖子]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim dict As new Dictionary(of String,String)
    For m As Integer = 0 To nms.Length - 1
        dict.add(nms2(m),nms(m))
    Next
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("table_3").StopRedraw()
    '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count -1
        If  Sheet(n,0).text > "" Then
            Dim bh As String = sheet(n,0).Text
            If DataTables("订单").Find("编号= '"& bh &"'")Is Nothing Then '如果不存在同编号的订单
                Dim r As Row = Tables("table_3").AddNew()
                For m1 As Integer = 0 To Sheet.Cols.Count - 1
                    If dict.ContainsKey(Sheet(0,m1).Value)
                        r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value
                    End If
                    
                Next
                r("处理人") = user.name
                
            End If
        Next
        Tables("table_3").ResumeRedraw()
    End If 这样也不行啊老师,不好意思,复制错了刚刚

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 16:55:00 [显示全部帖子]

老师其实我的意思是把他改了还是新增相同的数据只不过单号那里空了

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 16:56:00 [显示全部帖子]

是不是关我DataColChanging的If e.DataCol.Name = "单号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("单号 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此单号已经存在!")
        e.Cancel = True
    End If
End If 事

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 17:00:00 [显示全部帖子]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim nms() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim nms2() As String = {"状态","记录时间","店铺名称","产品类别","单号","产品SKU","责任方","状况描述 原因","客户姓名","联系方式","寄送地址","处理方式","寄送SKU","配件SKU","数量","备注","发货仓库","系统单号","追踪号","物流公司","发货日期","收货日期","下单日期","回访","记录日期","结束日期","赠送SKU","处理时间"}
    Dim dict As new Dictionary(of String,String)
    For m As Integer = 0 To nms.Length - 1
        dict.add(nms2(m),nms(m))
    Next
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("table_3").StopRedraw()
    '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
    For n As Integer = 1 To Sheet.Rows.Count -1
        If  Sheet(n,0).text > "" Then
            Dim bh As String = sheet(n,0).Text
            If DataTables("table_3").Find("单号= '"& bh &"'")Is Nothing Then '如果不存在同编号的订单
                Dim r As Row = Tables("table_3").AddNew()
                For m1 As Integer = 0 To Sheet.Cols.Count - 1
                    If dict.ContainsKey(Sheet(0,m1).Value)
                        r(dict(Sheet(0,m1).Value)) = Sheet(n,m1).Value
                    End If
                Next
                r("处理人") = user.name
                End If
            End If
        Next
        Tables("table_3").ResumeRedraw()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 17:01:00 [显示全部帖子]

现在我的代码是
这样,还是可以新增

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 17:08:00 [显示全部帖子]

就像这样,导入第一次可以,导入第二次,没有单号,但是其他的数据正常录入,导入那个表只有一条数据我反复的测试
图片点击可在新窗口打开查看此主题相关图片如下:wechat 圖片_20210830170627.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
aaa1234
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:1650 威望:0 精华:0 注册:2021/7/30 8:48:00
  发帖心情 Post By:2021/8/30 17:09:00 [显示全部帖子]

其实就是这个问题而已,麻烦老师了,一直复制错不好意思

 回到顶部
总数 11 1 2 下一页