以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]如何调用最新或最后,或最高级别的一条记录 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=21612) |
||||
-- 作者:童年 -- 发布时间:2012/7/18 19:08:00 -- [求助]如何调用最新或最后,或最高级别的一条记录 一个工号对应多条记录,比如“学历教育”表中,工号A001记录了该人员的中专、大专、本科3条学历记录,想在“基本资料”表中“最高学历”列只调用最高学历。如何实现? |
||||
-- 作者:程兴刚 -- 发布时间:2012/7/18 23:31:00 -- 增加一个学历设置: 1 小学一年级 2 小学一年级 3 小学一年级 4 小学一年级 …… n 本科 ……
从文凭到学历,一一对应,否则,电脑来判断最高级别,您需要在您用到的地方做N个判断才能实现。 |
||||
-- 作者:童年 -- 发布时间:2012/7/19 18:56:00 -- 现在我做了一个例子,求高手指点,工号001的人员基本资料表中,最高学历_学历,最高学历_专业, 最高学历_ 毕业时间,最高学历_毕业院校,如果读取“学历教育”表中,001人员的最后一条学历记录。
顺便问一下,这个表里DataColChanged中添加了 \'如果刚刚输入的是工号列 If e.DataCol.Name = "姓名" Then Dim dr As DataRow \'在基本资料表查找所输入工号的行 dr = DataTables("基本资料").Find("[姓名] = \'" & e.DataRow("姓名")& "\'") If dr IsNot Nothing Then \'如果找到 \'将找到行的姓名和工作单位内容填入到正在输入的行中. e.DataRow("工号") = dr("工号") e.DataRow("工作单位") = dr("工作单位") Else \'否则清除姓名和工作单位两列的内容 e.DataRow("工号") = Nothing e.DataRow("工作单位") = Nothing End If End If 可是姓名和工作单位没有根据工号自动显示,这是怎么回事? |
||||
-- 作者:童年 -- 发布时间:2012/7/19 19:31:00 -- ![]() |
||||
-- 作者:czy -- 发布时间:2012/7/19 20:53:00 -- 你是根据工号来写入姓名和单位,你试试在学历教育表的姓名列输入看看 |
||||
-- 作者:czy -- 发布时间:2012/7/19 20:55:00 -- 另外一个问题看这里
http://www.foxtable.com/help/topics/0396.htm
|
||||
-- 作者:童年 -- 发布时间:2012/7/28 11:09:00 -- 最高学历的问题还是没有解决,顶起来。
现在我的思路是,[基本资料]表读取[学历教育]表中"毕业时间"列,当该工号的毕业时间最大,那么这个毕业时间就是最高学历时间,然后将该行的"毕业时间","学历","毕业院校","专业"填充到[基本资料]表中的"毕业时间","学历","毕业院校","专业"列. 看到一个代码是,我觉得还是不会DataTables("学历教育").Compute("Max(日期)") |
||||
-- 作者:dancedy -- 发布时间:2012/7/28 11:52:00 -- Dim dr As DataRow = DataTables("学历教育").Find("工号 = \'" & e.DataRow("工号") & "\'","毕业时间 Desc") |
||||
-- 作者:童年 -- 发布时间:2012/7/28 18:06:00 -- 是写成这样吗?还是不行。。。 If e.DataCol.Name = "工号" Then |