Foxtable(狐表)用户栏目专家坐堂 → 自动填充


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

主题:自动填充

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


加好友 发短信
等级:幼狐 帖子:94 积分:1039 威望:0 精华:0 注册:2018/4/28 23:27:00
自动填充  发帖心情 Post By:2019/5/20 9:37:00 [只看该作者]

上述是结算单,现在想添加一个赠送开扇费用的计算,求代码
计算方法:开扇费用         =  开扇数量*开扇单价
              赠送开扇数量   =  面积/3(往小取整)
              赠送开扇费用   =  赠送开扇数量*开扇单价
添加一列赠送开扇费用,使用代码自动填充赠送开扇费用,实现从该订单第1行开始,
逐行按开扇数量填充赠送开扇费用,直至填充完毕。

如上图,赠送开扇数量为9扇,开扇单价460,赠送开扇费用4140,
第1行赠送开扇费用填充920,第2行460,第3行920,第4行460,第5行1380

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


加好友 发短信
等级:狐神 帖子:4761 积分:34613 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2019/5/20 9:46:00 [只看该作者]

结算单在哪里?图又在哪里?

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


加好友 发短信
等级:幼狐 帖子:94 积分:1039 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2019/5/20 10:30:00 [只看该作者]

开扇数量  |  面积  | 开扇单价 | 开扇费用 | 赠送开扇费用 |
    2       |  5.33  |   460    |   920     |     920         |
    1       |  2.78  |   460    |   460     |     460         |
    2       |  7.99  |   460    |   920     |     920         |
    1       |  2.75  |   460    |   460     |     460         |
    4       |  9.75  |   460    |   1840   |     1380       |
  合计
    10     |  28.61 |            |   4600   |    4140         |

开扇数量合计10扇,赠送开扇数量9扇

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


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

 

请上传具体实例测试。

 

 


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


加好友 发短信
等级:幼狐 帖子:94 积分:1039 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2019/5/20 11:24:00 [只看该作者]

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


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


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

参考代码

 

Dim t As Table = Tables("表A")
For Each r As Row In t.Rows
    If r("开扇数量") <> Nothing Then
        r("开扇费用") = r("开扇数量") * r("开扇单价")
        r("赠送开扇费用") = cint(r("面积") / 3) * r("开扇单价")
    End If
Next


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


加好友 发短信
等级:幼狐 帖子:94 积分:1039 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2019/5/20 13:56:00 [只看该作者]

赠送开扇个数是以该订单的累计面积合计除以3往小取整得出,赠送开扇费用是以每行的开扇数量乘以开扇单价得出,逐行填充,直到计算完赠送开扇费用。
如,实际开扇个数是10,赠送开扇个数是9,从第1行开始计算赠送开扇费用,直到计算第9个开扇的费用为止
再如:实际开扇个数是100,赠送个数是84,从第1行开始计算赠送开扇费用,直到计算第84个开扇的费用为止

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


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

Dim t As Table = Tables("表A")
Dim mj As Double = 0
For Each r As Row In t.Rows
    If r("开扇数量") <> Nothing AndAlso r("生产编号") <> "合计" Then
        mj += r("面积")
    End If
Next
Dim gs As Integer = Math.Floor(mj / 3)
Dim c As Integer = 0
For Each r As Row In t.Rows
    If r("开扇数量") <> Nothing Then
        If c + r("开扇数量") <= gs Then
            r("赠送开扇费用") =  r("开扇数量") * r("开扇单价")
            c += r("开扇数量")
        ElseIf c < gs AndAlso c + r("开扇数量") > gs Then
            r("赠送开扇费用") = (gs-c) * r("开扇单价")
            c = gs
        Else
            r("赠送开扇费用") = Nothing
        End If
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:94 积分:1039 威望:0 精华:0 注册:2018/4/28 23:27:00
  发帖心情 Post By:2019/5/20 16:47:00 [只看该作者]

其中开扇数量为空时,面积不计算为空的行

再帮忙调整一下代码,谢谢

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


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

Dim t As Table = Tables("表A")
Dim mj As Double = 0
For Each r As Row In t.Rows
    If r("开扇数量") <> Nothing AndAlso r("生产编号") <> "合计" Then
        mj += r("面积")
    End If
Next
Dim gs As Integer = Math.Floor(mj / 3)
Dim c As Integer = 0
For Each r As Row In t.Rows
    If r("开扇数量") <> Nothing Then
        If c + r("开扇数量") <= gs Then
            r("赠送开扇费用") =  r("开扇数量") * r("开扇单价")
            c += r("开扇数量")
        ElseIf c < gs AndAlso c + r("开扇数量") > gs Then
            r("赠送开扇费用") = (gs-c) * r("开扇单价")
            c = gs
        Else
            r("赠送开扇费用") = Nothing
        End If
    Else
        r("赠送开扇费用") = Nothing
    End If
Next

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