Foxtable(狐表)用户栏目专家坐堂 → [求助]如何调用最新或最后,或最高级别的一条记录


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

主题:[求助]如何调用最新或最后,或最高级别的一条记录

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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
[求助]如何调用最新或最后,或最高级别的一条记录  发帖心情 Post By:2012/7/18 19:08:00 [显示全部帖子]

一个工号对应多条记录,比如“学历教育”表中,工号A001记录了该人员的中专、大专、本科3条学历记录,想在“基本资料”表中“最高学历”列只调用最高学历。如何实现?

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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/19 18:56:00 [显示全部帖子]

现在我做了一个例子,求高手指点,工号001的人员基本资料表中,最高学历_学历,最高学历_专业, 最高学历_ 毕业时间,最高学历_毕业院校,如果读取“学历教育”表中,001人员的最后一条学历记录。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学历关联.table


顺便问一下,这个表里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
可是姓名和工作单位没有根据工号自动显示,这是怎么回事?

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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/19 19:31:00 [显示全部帖子]

图片点击可在新窗口打开查看求助

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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/28 11:09:00 [显示全部帖子]

最高学历的问题还是没有解决,顶起来。

 

现在我的思路是,[基本资料]表读取[学历教育]表中"毕业时间"列,当该工号的毕业时间最大,那么这个毕业时间就是最高学历时间,然后将该行的"毕业时间","学历","毕业院校","专业"填充到[基本资料]表中的"毕业时间","学历","毕业院校","专业"列.

看到一个代码是,我觉得还是不会DataTables("学历教育").Compute("Max(日期)")
请各位高手指点.


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


加好友 发短信
等级:幼狐 帖子:100 积分:900 威望:0 精华:0 注册:2011/12/16 14:00:00
  发帖心情 Post By:2012/7/28 18:06:00 [显示全部帖子]

是写成这样吗?还是不行。。。

If e.DataCol.Name = "工号" Then
    Dim dr As DataRow
    dr = DataTables("学历教育").Find("[工号] = '" & e.DataRow("工号")& "'","毕业时间 Desc")
    If dr IsNot Nothing Then
        e.DataRow("学历") = dr("学历")
        e.DataRow("毕业院校") = dr("毕业院校")
        e.DataRow("专业") = dr("专业")
        e.DataRow("毕业时间") = dr("毕业时间")
    Else
        e.DataRow("学历") = Nothing
        e.DataRow("毕业院校") = Nothing
        e.DataRow("专业") = Nothing
        e.DataRow("毕业时间") = Nothing
    End If
End If


 回到顶部