Foxtable(狐表)用户栏目专家坐堂 → 关于信息输入的问题


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

主题:关于信息输入的问题

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


加好友 发短信
等级:婴狐 帖子:61 积分:491 威望:0 精华:0 注册:2017/4/6 19:46:00
关于信息输入的问题  发帖心情 Post By:2017/8/18 10:14:00 [只看该作者]

在输入数据过程中会有这样一种情况:多条数据很多列内容都是一样的,只有一列或几列数据需要改变,故需要实现一个功能:1、在每行最后单元格按回车后自动增加行(已实现),并且部分列内容复制上一行的内容;2、同时另外增加一个按钮,点击以后增加新组,不继续前面的复制功能。
关于1、自动增加行,我在表格里已经调好;关于复制内容我在表格  DateRowadded  中输入代码:
     CurrentTable.Position = CurrentTable.Rows.Count -1      ‘将最后一行(新增行)变为当前行
     Dim nr As Row = CurrentTable.Current                '定义nr为当前行
     Dim cr As Row = CurrentTable.Rows(CurrentTable.Current.Index -1)    '定义cr为上一行
     nr("当事人") = cr("当事人")
     nr("发生情况") = cr("发生情况")
     nr("发生时间") = cr("发生时间")
     nr("工号") = cr("工号")
这样便能选择性复制部分单元格内容。
但是关于单独按钮新增组的代码不知道怎么写,请狐大大帮忙解决,谢谢!

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


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

按钮代码

 

vars("不复制") = true

 

DataRowAdded事件

 

If vars("不复制") = False then

    '本来代码

End If


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


加好友 发短信
等级:婴狐 帖子:61 积分:491 威望:0 精华:0 注册:2017/4/6 19:46:00
  发帖心情 Post By:2017/8/18 11:12:00 [只看该作者]

以下是引用有点甜在2017/8/18 10:29:00的发言:

按钮代码

 

vars("不复制") = true

 

If vars("不复制") = False then

    '本来代码

End If



试了一下,还是不太清楚怎么弄,麻烦再仔细一点,谢谢。

DataRowAdded事件

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信息入录新增与新组.table

[此贴子已经被作者于2017/8/18 11:12:56编辑过]

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:信息入录新增与新组.table


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


加好友 发短信
等级:婴狐 帖子:61 积分:491 威望:0 精华:0 注册:2017/4/6 19:46:00
  发帖心情 Post By:2017/8/18 14:13:00 [只看该作者]

已试过,可用,不过要先把“增加”那个按钮点过才能正常执行。非常感谢老师指点

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


加好友 发短信
等级:婴狐 帖子:61 积分:491 威望:0 精华:0 注册:2017/4/6 19:46:00
  发帖心情 Post By:2017/8/21 9:43:00 [只看该作者]

又有一个问题,按照之前输入之后,我又想导出的时候根据人物内容把“事件”内容合并起来导出,例如:
   2017-08-11 办公室  赵云  事件1;事件2;事件3
这又该如何写代码?
[此贴子已经被作者于2017/8/21 9:46:33编辑过]

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


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

生成一个临时表

 

Dim g As New GroupTableBuilder("统计表1", DataTables("信息入录"))
g.Groups.AddDef("时间", DateGroupEnum.None)
g.Groups.AddDef("地点")
g.Groups.AddDef("人物")
g.Totals.AddDef("事件", AggregateEnum.Count)
g.Build()
Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Delete("事件")
t.DataTable.DataCols.Add("事件", Gettype(String), 255)
For Each r As Row In t.Rows
    r("事件") = DataTables("信息入录").GetComboListString("事件").replace("|", ",").trim(",")
Next
MainTable = t


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


加好友 发短信
等级:婴狐 帖子:61 积分:491 威望:0 精华:0 注册:2017/4/6 19:46:00
  发帖心情 Post By:2017/8/21 10:13:00 [只看该作者]

谢谢“有点甜”老师,不过按照你的代码,我新添加一个人,发现每个人的事件内容都是把所有事件都合并在一起了,我希望的是同一个人的事件内容合并在一起,但是不同人不进行合并,也就是相当于分组统计,代码该怎么改一下,是不是该在GetComboListString后面加筛选条件?
                           谢谢!

[此贴子已经被作者于2017/8/21 10:24:07编辑过]

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


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

Dim g As New GroupTableBuilder("统计表1", DataTables("信息入录"))
g.Groups.AddDef("时间", DateGroupEnum.None)
g.Groups.AddDef("地点")
g.Groups.AddDef("人物")
g.Totals.AddDef("事件", AggregateEnum.Count)
g.Build()
Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Delete("事件")
t.DataTable.DataCols.Add("事件", Gettype(String), 255)
For Each r As Row In t.Rows
    r("事件") = DataTables("信息入录").GetComboListString("事件", "时间 = #" & r("时间") & "# and 地点 = '" & r("地点") & "' and 人物 = '" & r("人物") & "'").replace("|", ",").trim(",")
Next
MainTable = t

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


加好友 发短信
等级:婴狐 帖子:61 积分:491 威望:0 精华:0 注册:2017/4/6 19:46:00
  发帖心情 Post By:2017/8/21 10:25:00 [只看该作者]

非常感谢老师指导

 回到顶部