以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 按条件调入数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1145) |
||||
-- 作者:老有所乐 -- 发布时间:2008/11/15 22:06:00 -- 按条件调入数据 请教,在表B的姓名和分数列用代码,将表A[班级名次]为前2名人员的姓名和分数按年级班级调入填到表B中,代码该如何写。
|
||||
-- 作者:gdtgl -- 发布时间:2008/11/16 0:02:00 -- 表B姓名这1列的计算代码: dim s2 as row = tables("表B").current dim a1 as datarow = datatables("表A").find("年级 = \'"& s2("年级") & "\' and 班级 = \'"& s2("班级") & "\' and 班级名次 = \'"& s2("排名") & "\'") s2("姓名") = a1("姓名") 表B的事件datacolchanged 的代码: if e.datacol.name = "排名" then datatables("表B").datacols("姓名").recalc end if |
||||
-- 作者:老有所乐 -- 发布时间:2008/11/16 5:59:00 -- 谢谢gdtgl兄弟,辛苦你!上面的代码能进行,但是有两个问题: 1,要用鼠标点击要计算的行再点击重算列,要一行一行进行,若有3万行,1天都做不完。 2,只能进行到第六行,到第七行就出现“调用目标发行异常.........未将对象引用设置到实例”的提示。 |
||||
-- 作者:老有所乐 -- 发布时间:2008/11/16 7:55:00 -- 2,已经找到解决。 |
||||
-- 作者:yuanbin -- 发布时间:2008/11/16 10:47:00 -- 用数据填充器,在B表中设定一个按钮,写入以下代码即可. datatables("表B").datarows.clear() dim f As New Filler f.SourceTable = DataTables("表A") \'指定数据来源 f.SourceCols = "班级,年级,姓名,分数,班级名次" \'指定数据来源列 f.DataTable = DataTables("表B") \'指定数据接收表 f.DataCols = "班级,年级,姓名,分数,排名" \'指定数据接收列 f.Distinct=false f.Filter="[班级名次]<=2" f.Fill() \'填 Tables("表B").Sort = "年级,班级,排名" |
||||
-- 作者:老有所乐 -- 发布时间:2008/11/16 13:15:00 -- 谢谢yuanbin先生!用了这个,就是没有写对7,8,10这三句。看来够学 |