Foxtable(狐表)用户栏目专家坐堂 → 删除重复项


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

主题:删除重复项

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
删除重复项  发帖心情 Post By:2017/8/24 15:50:00 [显示全部帖子]

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "第一列"
For Each dr As DataRow In DataTables("表A").Select("第一列 is not null", cs)
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
        If flag Then
            If count > 1 Then
                idx &= idx_temp
            End If
            count = 1
            idx_temp = ""
        Else
            count += 1
            idx_temp &= dr("_Identify") & ","
        End If
    Else
        count += 1
    End If
    pdr = dr
Next
If count > 1 Then
    idx &= idx_temp
End If
DataTables("表A").DeleteFor("_Identify In (" & idx.trim(",") & ")")


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170824154703.png
图片点击可在新窗口打开查看

现在想通过删除重复项把第一列第二列的数据处理成第五列第六列的效果。

就是第一列相同的数据,第二列不能有重复的。


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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/25 9:59:00 [显示全部帖子]

我想在删除重复项内加一个消息提示框,比如提示此次共删除多少重复项这样的语句信息。代码要怎么去处理呀?

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/25 11:10:00 [显示全部帖子]

消息提示框出来了,但是删除动作却没有实现,是因为什么?

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/25 14:10:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试1.zip

生产工艺1表

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/31 10:36:00 [显示全部帖子]

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170831103131.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170831103230.png
图片点击可在新窗口打开查看
代码发不出来,报这样的错误,是什么原因?

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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/31 10:39:00 [显示全部帖子]

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim sum As Integer = 0
Dim sCols() As String = {"DOC_NO","SequenceNumber","DOC_DATE","CUSTOMER_ORDER_NO","项目单位","PLAN_SHIP_DATE","DELIVERY_TYPE","PLAN_STATUS","CLOSE","明细状态","ITEM_CODE","ITEM_NAME","DRAWING_NO","ITEM_SPECIFICATION","客户要求产品型号","客户要求产品名称","BUSINESS_QTY","DELIVER_BUSINESS_QTY","REMARK","客户材质","SHORTCUT"}
Dim dCols() As String = {"需求单号","序号","单据日期","客户单号","项目单位","预计发货日期","供货类型","计划状态","订单状态","明细状态","品号","品名","图号","规格","客户要求产品型号","客户要求产品名称","业务数量","已发货数量","备注","客户材质","材质"}
cmd.C
cmd.CommandText = "Select top 200 {SALES_ORDER_DOC}.[CLOSE],{SALES_ORDER_DOC_D}.[REMARK],{ITEM}.[ITEM_SPECIFICATION],{SALES_ORDER_DOC_D}.[SequenceNumber],{SALES_ORDER_DOC_D}.[UDF024] as [项目单位],{SALES_ORDER_DOC_D}.[UDF026]as [客户要求产品名称],{SALES_ORDER_DOC_D}.[UDF025]as [客户要求产品型号], [DOC_NO],[DOC_DATE],[CUSTOMER_ORDER_NO],[PLAN_SHIP_DATE],[PLAN_STATUS],[DELIVER_BUSINESS_QTY],[DELIVERY_TYPE],{SALES_ORDER_DOC_SD}.[BUSINESS_QTY],{SALES_ORDER_DOC_SD}.[CLOSE]AS [明细状态],[ITEM_CODE],[ITEM_NAME],[DRAWING_NO],[SALES_ORDER_DOC_D].[UDF022] AS [客户材质],[SHORTCUT] Fro m (({SALES_ORDER_DOC_D} Inner JOIN {ITEM} ON {ITEM}.[ITEM_BUSINESS_ID] = {SALES_ORDER_DOC_D}.[ITEM_ID]) left JOIN {SALES_ORDER_DOC} ON {SALES_ORDER_DOC}.[SALES_ORDER_DOC_ID] = {SALES_ORDER_DOC_D}.[SALES_ORDER_DOC_ID]) Inner JOIN {SALES_ORDER_DOC_SD} ON {SALES_ORDER_DOC_SD}.[SALES_ORDER_DOC_D_ID] = {SALES_ORDER_DOC_D}.[SALES_ORDER_DOC_D_ID] where {SALES_ORDER_DOC_D}.[ApproveStatus] = 'Y' order by [DOC_DATE] DESC"
dt = cmd.ExecuteReader()
For Each dr As DataRow In dt.DataRows
Dim t As DataRow= DataTables("销售订单").Find("需求单号 = '" & dr(sCols(0)) & "' and 序号 = '" & dr(scols(1)) &"'")

    If t Is Nothing Then '如果不存在同编号的订单
    t = DataTables("销售订单").AddNew()
    For i As Integer =0 To sCols.Length -1
        t(dCols(i)) = dr(sCols(i))
        sum += 1
    Next
    End If
Next
msgbox("更新" & sum & "条")

 

通过按钮实现数据更新,想统计更新的数据有多少条,上面代码还有点问题,麻烦帮忙检查下。


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


加好友 发短信
等级:婴狐 帖子:47 积分:383 威望:0 精华:0 注册:2017/8/5 12:49:00
  发帖心情 Post By:2017/8/31 11:03:00 [显示全部帖子]

原先显示更新的条数与实际不符。现在把sum+=1写在循环外面可以了

 回到顶部