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


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

主题:[求助]

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


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

 

版主,以下是选两条记录进行合并,反复测试黄色不对。Netweiht_Total 是通过表属性中表达式得出来的。它不让进行合并。

 

因为两条记录中的Netweight_PC 是不相同的,合并后想让Netweiht_Total 加总后再除以加总的数量,再得出一个Netweight_PC ,不知道如何修改,请帮忙一下,谢谢。

 

 

Dim t As Table = Tables("Shipment.customsinvoice")
Dim cr = t.Rows(t.BottomPosition )
For i As Integer = t.BottomPosition-1 To t.TopPosition Step -1
    If cr("ShippingNO") = t.Rows(i)("ShippingNO") AndAlso cr("NameinChinese") = t.Rows(i)("NameinChinese") AndAlso cr("Unit") = t.Rows(i)("unit") AndAlso cr("HS") = t.Rows(i)("HS")
        cr("Qty") += val(t.Rows(i)("Qty"))

        cr("TotalPrice") += val(t.Rows(i)("TotalPrice"))
        cr("PO_UnitPrice") += val(t.Rows(i)("TotalPrice"))/val(t.Rows(i)("Qty"))

        cr("GrossWeight_total") += val(t.Rows(i)("GrossWeight_Total"))
        cr("Netweight_Total") += val(t.Rows(i)("Netweight_Total"))
        cr("Netweight_PC") = cr("Netweight_total") /cr("Qty")


        t.Rows(i).delete
    Else
        cr = t.Rows(i)
    End If
Next


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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/30 22:50:00 [只看该作者]

表达式列是不能使用代码进行赋值的。

Dim t As Table = Tables("Shipment.customsinvoice")
Dim cr = t.Rows(t.BottomPosition )
Dim Total As Double = cr("Netweight_Total")
For i As Integer = t.BottomPosition-1 To t.TopPosition Step -1
    If cr("ShippingNO") = t.Rows(i)("ShippingNO") AndAlso cr("NameinChinese") = t.Rows(i)("NameinChinese") AndAlso cr("Unit") = t.Rows(i)("unit") AndAlso cr("HS") = t.Rows(i)("HS")
        cr("Qty") += val(t.Rows(i)("Qty"))
        cr("TotalPrice") += val(t.Rows(i)("TotalPrice"))
        cr("PO_UnitPrice") += val(t.Rows(i)("TotalPrice"))/val(t.Rows(i)("Qty"))
        cr("GrossWeight_total") += val(t.Rows(i)("GrossWeight_Total"))
        Total += val(t.Rows(i)("Netweight_Total"))
        cr("Netweight_PC") = Total /cr("Qty")

        t.Rows(i).delete
    Else
        cr = t.Rows(i)
    End If
Next

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


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

版主,两条,三条或更多记录进行合并,其中一列每条记录的内容不同,比如 第一条是A,第二条是B,第三条是DDD,如果按现在的代码进行合并后,就会只取其中的一个内容,能帮忙把这些内容整到一起吗? 合并后该列中显示 A,B, DDD.. 如果几条记录的列内容相同就取一个,谢谢。

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


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

1、你2楼的代码都是数值列累加,没有涉及字符列。

 

2、如果你需要字符列累加,改成比如 cr("Qty") &= t.Rows(i)("Qty") & ","


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


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

谢谢版主,便这个 逗号 , 位置不对,能帮忙调整一下吗

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


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


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

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


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

然后相同的,只取一次,可以吗?

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


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

具体实例、代码分别贴出来测试。

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


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

再请问一下版主,如果要设定列字段 客户 为 AA 时才进行如下记录合并,能帮忙加一下吗?感谢。

 

 

Dim t As Table = Tables("Shipment.customsinvoice")
Dim cr = t.Rows(t.BottomPosition )
Dim Total As Double = cr("Netweight_Total")
For i As Integer = t.BottomPosition-1 To t.TopPosition Step -1
    If cr("ShippingNO") = t.Rows(i)("ShippingNO") AndAlso cr("NameinChinese") = t.Rows(i)("NameinChinese") AndAlso cr("Unit") = t.Rows(i)("unit") AndAlso cr("HS") = t.Rows(i)("HS")
        cr("Qty") += val(t.Rows(i)("Qty"))
        cr("TotalPrice") += val(t.Rows(i)("TotalPrice"))
        cr("PO_UnitPrice") += val(t.Rows(i)("TotalPrice"))/val(t.Rows(i)("Qty"))
        cr("GrossWeight_total") += val(t.Rows(i)("GrossWeight_Total"))
        Total += val(t.Rows(i)("Netweight_Total"))
        cr("Netweight_PC") = Total /cr("Qty")

        t.Rows(i).delete
    Else
        cr = t.Rows(i)
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/12/7 20:03:00 [只看该作者]

If t.Rows(i)("客户") = "AA" andalso cr("ShippingNO") = t.Rows(i)("ShippingNO") AndAlso cr("NameinChinese") = t.Rows(i)("NameinChinese") AndAlso cr("Unit") = t.Rows(i)("unit") AndAlso cr("HS") = t.Rows(i)("HS")

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