Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/8 19:59:00 [只看该作者]

版主,还是出错了
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/8 21:37:00 [只看该作者]

版主 

 

If t1.Rows.Count = 0 Then Return “”

 

我把上面出错了 “”去掉了。可是这个还是有点问题。图中的 第二,四记录不能合并,第三,五记录不能合并。实列上传。麻烦一下。谢谢。


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

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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/8 21:38:00 [只看该作者]

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


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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/9 10:39:00 [只看该作者]

版主,今天在吗?能不能帮忙指导一下,万分感谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/9 16:07:00 [只看该作者]

看不懂你的逻辑,请说明最后需要得到什么结果。

 

Dim t1 As Table = Tables("Shipment.customsinvoice")
If t1.Rows.Count = 0 Then Return
Dim cr1 As Row
Dim cr2 As Row

Dim str As String = ""
For i As Integer = t1.TopPosition To t1.BottomPosition
    str = str & "," & t1.Rows(i)("_Identify")
Next

str = str.Trim(",")
t1.Filter = "[_Identify] in (" & str & ")"
Dim cr As Row
Dim Total As Double
Dim Totalp As Double

t1.sort = "ShippingNO,NameinChinese,Unit,HS,Qty"
If t1.Rows.Count > 1 Then  
    cr = t1.Rows(0)
    Total = cr("Netweight_Total")
    Totalp = cr("Totalprice")
    For i As Integer = t1.Rows.Count - 1 To 1 Step -1
        If cr("ShippingNO") = t1.Rows(i)("ShippingNO") AndAlso cr("NameinChinese") = t1.Rows(i)("NameinChinese") AndAlso cr("Unit") = t1.Rows(i)("unit") AndAlso cr("HS") = t1.Rows(i)("HS") AndAlso cr("Declaration") = t1.Rows(i)("Declaration")
            msgbox(123)
            cr("Qty") += val(t1.Rows(i)("Qty"))
            cr("TotalPrice") += val(t1.Rows(i)("TotalPrice"))
            cr("GrossWeight_total") += val(t1.Rows(i)("GrossWeight_Total"))
            '   cr("Netweight_Total") += val(t.Rows(i)("Netweight_Total"))
            Total += val(t1.Rows(i)("Netweight_Total"))
            cr("Netweight_PC") = Total /cr("Qty")
            Totalp += val(t1.Rows(i)("Totalprice"))
            cr("PO_UnitPrice") = Totalp /cr("Qty")
            cr("Combine") &= t1.Rows(i)("GSSPartNo") &  ","
            't1.Rows(i).delete
        Else
            cr = t1.Rows(i)
        End If
    Next 
End If


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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/9 16:18:00 [只看该作者]

版主,

 

想实现所选的记录进行批量合并:

 

 

supplier 等于GSS时的记录,以列名ShippingNO,MaterialName,Unit,HS条件相同进行合并。

 

supplier 不等于GSS时的记录,以ShippingNO,NameinChinese,Unit,HS,Declaration,PO_UnitPrice相同进行合并,PO_UnitPrice 是总金额除以总数量得出。

 

谢谢。


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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/9 21:13:00 [只看该作者]

版主,可不可以先帮忙指导一下,感谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/9 22:04:00 [只看该作者]

参考代码

 

Dim t1 As Table = Tables("Shipment.customsinvoice")
If t1.Rows.Count = 0 Then Return

Dim str As String = ""
For i As Integer = t1.TopPosition To t1.BottomPosition
    str = str & "," & t1.Rows(i)("_Identify")
Next

str = str.Trim(",")
Dim drs = t1.DataTable.Select("[_Identify] In (" & str & ") And supplier = 'GSS'", "ShippingNO,NameinChinese,Unit,HS")
Dim Total As Double
Dim Totalp As Double
msgbox(drs.count)
If drs.Count > 1 Then  
    Dim cr = drs(drs.count-1)
    Total = cr("Netweight_Total")
    Totalp = cr("Totalprice")
    For i As Integer = drs.Count - 2 To 0 Step -1
        If cr("ShippingNO") = drs(i)("ShippingNO") AndAlso cr("NameinChinese") = drs(i)("NameinChinese") AndAlso cr("Unit") = drs(i)("unit") AndAlso cr("HS") = drs(i)("HS") ' AndAlso cr("Declaration") = drs(i)("Declaration") AndAlso cr("PO_UnitPrice") = drs(i)("PO_UnitPrice") Then
            msgbox(123)
            cr("Qty") += val(drs(i)("Qty"))
            cr("TotalPrice") += val(drs(i)("TotalPrice"))
            cr("GrossWeight_total") += val(drs(i)("GrossWeight_Total"))
            '   cr("Netweight_Total") += val(drs(i)("Netweight_Total"))
            Total += val(drs(i)("Netweight_Total"))
            cr("Netweight_PC") = Total /cr("Qty")
            Totalp += val(drs(i)("Totalprice"))
            cr("PO_UnitPrice") = Totalp /cr("Qty")
            cr("Combine") &= drs(i)("GSSPartNo") &  ","
            drs(i).delete
        Else
            cr = drs(i)
        End If
    Next 
End If


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


加好友 发短信
等级:三尾狐 帖子:795 积分:5880 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2018/12/9 22:15:00 [只看该作者]

版主,谢谢。 测试了一下,ccc 相同的记录没有合并。哪儿错了吗?
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/9 22:39:00 [只看该作者]

38楼那段代码是判断情况为【supplier = 'GSS'】的。如果不是GSS的,你再拷贝一段处理才行。


 回到顶部
总数 64 上一页 1 2 3 4 5 6 7 下一页