以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何调用最新或最后,或最高级别的一条记录  (http://www.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人员的最后一条学历记录。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学历关联.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
可是姓名和工作单位没有根据工号自动显示,这是怎么回事?

--  作者:童年
--  发布时间: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
    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