以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]如何根据子表的日期区间生成主表的在职状态? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128404)
|
-- 作者:lunengcheng
-- 发布时间:2018/12/5 15:14:00
-- [求助]如何根据子表的日期区间生成主表的在职状态?
各位老师前辈,请教一下,我人员管理主表下面有一个离职管理的子表,主表有一列是“在职状态”列,现在需要根据离职管理子表的“离职日期”和“到期日期”生成主表的“在职状态”,判断方法是,如果当前的日期在“离职日期”和“到期日期”之间,则“在职状态”显示为“离职”,否则显示“在职”,我写了下面的代码,但是没产生作用,不知道哪里代码的问题,希望各位老师前辈给指点一下,多谢了!
|
-- 作者:有点甜
-- 发布时间:2018/12/5 15:58:00
--
子表,datacolchanged事件写代码
Select Case e.DataCol.name Case "离职日期", "到期日期" Dim bh10 As String = e.DataRow("编号") Dim ld10 As String Dim cmd10 As New SQLCommand cmd10.ConnectionName = "主数据源" cmd10.CommandText = "Select top 1 " & e.DataCol.name & " From {YW_人员管理离职管理} Where 编号 = \'" & bh10 & "\' Order by 创建时间 Desc" ld10 = cmd10.ExecuteScalar() If ld10 <> Nothing andalso ld10 <= Date.Today Then e.datarow.getparentrow("父表名")("在职状态") = "离职"
Else e.datarow.getparentrow("父表名")("在职状态") = "在职" End If End Select
|
-- 作者:有点甜
-- 发布时间:2018/12/5 15:59:00
--
Select Case e.DataCol.name Case "离职日期", "到期日期" If e.datarow("离职日期") <= Date.Today Then e.datarow.getparentrow("父表名")("在职状态") = "离职"
Else e.datarow.getparentrow("父表名")("在职状态") = "在职" End If End Select
|