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


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

主题:逻辑列运用问题

帅哥哟,离线,有人找我吗?
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

这组命令提示错误


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


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

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


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


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

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
bestorange
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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",就是这一部分,我需要根据逻辑列来控制不要重复复制数据。


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/19 15:06:00 [显示全部帖子]

and 逻辑列 = false" 逻辑列名用双引号吗?

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/7/19 15:13: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)

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")


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

 

 

 

最后的整体命令

好像木问题了~红袍大师 不愧是大师!!


 回到顶部