Foxtable(狐表)用户栏目专家坐堂 → 逻辑列运用问题


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

主题:逻辑列运用问题

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
逻辑列运用问题  发帖心情 Post By:2015/7/19 0:47:00 [只看该作者]

 


此主题相关图片如下:531.jpg
按此在新窗口浏览图片

以下是我窗口种按钮的事件命令:

Dim g As New GroupTableBuilder("统计表1", DataTables("钢琴课时统计表"))
    g.Groups.AddDef("教师姓名")
    g.Groups.AddDef("授课内容")
    g.Totals.AddDef("授课内容", AggregateEnum.Count,"签到次数")
    g.Filter = "教师姓名 = '" & e.Form.Controls("ComboBox1").Text & "'"
    g.Build(False)


DataTables("教师课时统计表").DataRows.Clear
Dim f As new Filler
f.SourceTable = DataTables("统计表1") '指定数据来源
f.SourceCols = "教师姓名,授课内容,签到次数" '指定数据来源列
f.DataTable = DataTables("教师课时统计表") '指定数据接收表
f.DataCols = "教师姓名,授课内容,签到次数" '指定数据接收列
f.Fill() '填充数据

MainTable = Tables("教师课时统计表")
DataTables.Unload("统计表1")

 

根据命令看 ,我将绑定表”钢琴课时统计表“中的数据 复制到”教师课时统计表“中。即我每次点击这个按钮都会复制表内指定列的所有行到数据接收表。

怎样可以实现不复制重复记录到数据接收表呢?

 

我试过 DataRows.Clear,但是效果不理想。想起之前专家教我用逻辑列来筛选统计。应该也可以用逻辑列解决当前问题。

我在"钢琴课时统计表"中增加了一个逻辑列。"已结算"

能否在上面的命令中同时实现:只复制"已结算“列下未选定的行的内容到"教师课时统计表",并将复制过的内容自动勾选呢??

最好能够一键实现。 实在不行只好再添加个按钮了


 


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/19 0:58:00 [只看该作者]


For Each r As Row In Tables("钢琴课时统计表").Rows
    r("已结算") = True
    r.Locked = True
    r.Save
Next

这组命令提示错误


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2015/7/19 8:02:00 [只看该作者]

  • ExcludeExistValue

    逻辑型,设为True,排除接收表中已经存在的内容。
Dim f As new Filler
f.SourceTable = DataTables("统计表1") '指定数据来源
f.SourceCols = "教师姓名,授课内容,签到次数" '指定数据来源列
f.DataTable = DataTables("教师课时统计表") '指定数据接收表
f.DataCols = "教师姓名,授课内容,签到次数" '指定数据接收列
f.ExcludeExistValue = true
f.Fill() '填充数据

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2015/7/19 8:06:00 [只看该作者]

代码执行没问题,提示什么错误?


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/19 12:55:00 [只看该作者]

可是数据接收表是临时表哦


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/19 14:18:00 [只看该作者]

以下是引用bestorange在2015/7/19 12:55:00的发言:

可是数据接收表是临时表哦

 

 什么表都可以。


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/19 14:27:00 [只看该作者]

临时表关闭项目就会自动删除,下次打开项目我再执行操作,再次生成临时表。

 

我是用于统计签到次数,不会造成重复统计吗?


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/19 14:34:00 [只看该作者]

Dim g As New GroupTableBuilder("统计表1", DataTables("钢琴课时统计表"))
    g.Groups.AddDef("教师姓名")
    g.Groups.AddDef("授课内容")
    g.Totals.AddDef("授课内容", AggregateEnum.Count,"签到次数")
    g.Filter = "教师姓名 = '" & e.Form.Controls("ComboBox1").Text & "'"
    g.Build(False)


DataTables("教师课时统计表").DataRows.Clear
Dim f As new Filler
f.SourceTable = DataTables("统计表1") '指定数据来源
f.SourceCols = "教师姓名,授课内容,签到次数" '指定数据来源列
f.DataTable = DataTables("教师课时统计表") '指定数据接收表
f.DataCols = "教师姓名,授课内容,签到次数" '指定数据接收列
f.Fill() '填充数据

MainTable = Tables("教师课时统计表")
DataTables.Unload("统计表1")

 

红色部分,是从"钢琴课时统计表"复制到临时表"统计表1",就是这一部分,我需要根据逻辑列来控制不要重复复制数据。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/19 14:36:00 [只看该作者]

删除重新填充了啊,不会重复啊

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/19 14:36:00 [只看该作者]

Dim g As New GroupTableBuilder("统计表1", DataTables("钢琴课时统计表"))
g.Groups.AddDef("教师姓名")
g.Groups.AddDef("授课内容")
g.Totals.AddDef("授课内容", AggregateEnum.Count,"签到次数")
g.Filter = "教师姓名 = '" & e.Form.Controls("ComboBox1").Text & "' and 逻辑列 = false"
g.Build(False)

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