Foxtable(狐表)用户栏目专家坐堂 → [求助] 表中的记录进行拆分和合并


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

主题:[求助] 表中的记录进行拆分和合并

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


加好友 发短信
等级:小狐 帖子:301 积分:2547 威望:0 精华:0 注册:2018/11/15 12:35:00
[求助] 表中的记录进行拆分和合并  发帖心情 Post By:2018/11/18 8:56:00 [只看该作者]

老师好, 窗体中的两个按钮能帮忙实现吗?

 

拆分,只要选中的记录进行拆分,要提示拆分几笔 ?如办输入2,就分成二笔,输入3,就3笔,数量按输入的数量分配,其它不变

合并,只要光标选中的记录两条记录进行合并,数量加总,其它不变。

 

以上,请帮忙一下,附实例。谢谢了。


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:diff.table


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


加好友 发短信
等级:小狐 帖子:301 积分:2547 威望:0 精华:0 注册:2018/11/15 12:35:00
  发帖心情 Post By:2018/11/18 8:57:00 [只看该作者]

交货期不考虑。

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


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

拆分,参考代码

 

Dim t As Table = Tables("表A")
Dim i As Integer = 2
If InputValue(i, "提示", "描述") Then
    Dim r = t.Current
    Dim n = r("数量") / i
    For j As Integer = 1 To i
        Dim nr = t.AddNew
        nr("产品") = r("产品")
        nr("数量") = n
        nr("单位") = r("单位")
    Next
    r.delete
End If

 

合并,参考代码

 

Dim t As Table = Tables("表A")
Dim cr = t.Rows(t.TopPosition)
For i As Integer = t.BottomPosition To t.TopPosition+1 Step -1
    cr("数量") += val(t.Rows(i)("数量"))
    t.Rows(i).delete
Next


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


加好友 发短信
等级:小狐 帖子:301 积分:2547 威望:0 精华:0 注册:2018/11/15 12:35:00
  发帖心情 Post By:2018/11/19 20:57:00 [只看该作者]

 

老师, 以下合并的,是不是可以帮忙加个条件,产品,单位相同的记录才可以进行合并,否则提不能合并,谢谢了!

 

Dim t As Table = Tables("表A")
Dim cr = t.Rows(t.TopPosition)
For i As Integer = t.BottomPosition To t.TopPosition+1 Step -1
    cr("数量") += val(t.Rows(i)("数量"))
    t.Rows(i).delete
Next


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


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

Dim t As Table = Tables("表A")
Dim cr = t.Rows(t.BottomPosition )
For i As Integer = t.BottomPosition-1 To t.TopPosition Step -1
    If cr("产品") = t.Rows(i)("产品") AndAlso cr("单位") = t.Rows(i)("单位")
        cr("数量") += val(t.Rows(i)("数量"))
        t.Rows(i).delete
    Else
        cr = t.Rows(i)
    End If
Next

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


加好友 发短信
等级:小狐 帖子:301 积分:2547 威望:0 精华:0 注册:2018/11/15 12:35:00
  发帖心情 Post By:2018/11/19 21:59:00 [只看该作者]

老师,还有个问题表中的记录怎么一定要连续选择的, 不能隔开选行吗? 能不能帮忙加个如果没有选中,提醒选一下,如果不能合并,也提醒一下。不好意思,又麻烦了。


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


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


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


加好友 发短信
等级:小狐 帖子:301 积分:2547 威望:0 精华:0 注册:2018/11/15 12:35:00
  发帖心情 Post By:2018/11/19 22:49:00 [只看该作者]

谢谢了。

能不能帮忙加个如果没有选中,提醒选一下,如果不能合并,也提醒一下


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


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

程序没有办法知道您脑子里想选中哪个呀

怎么样才算是选中?

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


加好友 发短信
等级:小狐 帖子:301 积分:2547 威望:0 精华:0 注册:2018/11/15 12:35:00
  发帖心情 Post By:2018/11/19 23:28:00 [只看该作者]

老师,那个隔开不合适,用光标隔开点选吗?


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