以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 求教,一个跨表引用的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=17295)
|
-- 作者:akzzwj
-- 发布时间:2012/3/9 10:14:00
-- 求教,一个跨表引用的问题
我有两张表 一个是人员表,一个是人员转正 表
想实现在人员转正 表 中输入被转正人工号后,修改该人员转正表的转正日期,那么该人员的转正时间也自动更新。
为此,我们可以在人员表的DataColChanged事件中加入如下代码该怎么写呢:
此主题相关图片如下:100.jpg
此主题相关图片如下:101.jpg
|
-- 作者:akzzwj
-- 发布时间:2012/3/9 10:24:00
--
If e.DataCol.Name = "工号" Then Dim dr As DataRow Dim Filter As String Filter = "[被转正人工号] = \'" & dr("工号") & "\'And 被转正人 =\'" & dr("姓名") & "\'" dr= DataTables("人员转正").Find(Filter) If dr IsNot Nothing Then dr("转正时间")=dr("转正日期") dr("状态")="正式" End If
|
-- 作者:akzzwj
-- 发布时间:2012/3/9 10:24:00
--
我写的代码 是像上面这样 但是 有问题
|
-- 作者:akzzwj
-- 发布时间:2012/3/9 10:24:00
--
高手 请帮我看一下,代码错在哪里?
|
-- 作者:akzzwj
-- 发布时间:2012/3/9 10:29:00
--
狐狸爸爸 在吗 帮我看一下
|
-- 作者:czy
-- 发布时间:2012/3/9 10:32:00
--
大概这样子吧。
Dim dr As DataRow = e.DataRow If e.DataCol.Name = "被转正人工号" Then If dr.IsNull("被转正人工号") = False Then Dim dr1 As DataRow = DataTables("人员").Find("工号 = \'" & dr("被转正人工号") & "\'") If dr1 IsNot Nothing Then dr("被转正人") = dr1("姓名") dr("转正时间") = Today dr1("转正时间") = Today End If End If End If
|
-- 作者:狐狸爸爸
-- 发布时间:2012/3/9 10:36:00
--
同一个表,这么负责干什么:
If e.DataCol.Name = "工号" Then Dim dr As DataRow = e.DataRow If dr.IsNull("工号") Then dr("转正时间")= Nothing dr("状态") = "临时" Else dr("转正时间")=dr("转正日期") dr("状态")="正式" End If End If
|