Foxtable(狐表)用户栏目专家坐堂 → 按条件调入数据


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

主题:按条件调入数据

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
按条件调入数据  发帖心情 Post By:2008/11/15 22:06:00 [只看该作者]

请教,在表B的姓名和分数列用代码,将表A[班级名次]为前2名人员的姓名和分数按年级班级调入填到表B中,代码该如何写。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.table


 


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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
  发帖心情 Post By: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

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/11/16 5:59:00 [只看该作者]

谢谢gdtgl兄弟,辛苦你!上面的代码能进行,但是有两个问题:
1,要用鼠标点击要计算的行再点击重算列,要一行一行进行,若有3万行,1天都做不完。
2,只能进行到第六行,到第七行就出现“调用目标发行异常.........未将对象引用设置到实例”的提示。

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/11/16 7:55:00 [只看该作者]

2,已经找到解决。
1,用按钮也没有用,现将代码放到currentChanged中按向下键快一点,没有找到更快的办法。


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


加好友 发短信
等级:贵宾 帖子:102 积分:880 威望:0 精华:4 注册:2008/8/31 21:47:00
  发帖心情 Post By: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 = "年级,班级,排名"

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


加好友 发短信
等级:三尾狐 帖子:746 积分:6673 威望:0 精华:1 注册:2008/9/1 11:46:00
  发帖心情 Post By:2008/11/16 13:15:00 [只看该作者]

谢谢yuanbin先生!用了这个,就是没有写对7,8,10这三句。看来够学


 回到顶部