此主题相关图片如下: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,但是效果不理想。想起之前专家教我用逻辑列来筛选统计。应该也可以用逻辑列解决当前问题。
我在"钢琴课时统计表"中增加了一个逻辑列。"已结算"
能否在上面的命令中同时实现:只复制"已结算“列下未选定的行的内容到"教师课时统计表",并将复制过的内容自动勾选呢??
最好能够一键实现。 实在不行只好再添加个按钮了
PS:数据接收表是临时表,所以不能使用
Dim f As new Filler
f.SourceTable = DataTables("统计表1") '指定数据来源
f.SourceCols = "教师姓名,授课内容,签到次数" '指定数据来源列
f.DataTable = DataTables("教师课时统计表") '指定数据接收表
f.DataCols = "教师姓名,授课内容,签到次数" '指定数据接收列
f.ExcludeExistValue = true
f.Fill() '填充数据