以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 日期判断的重置列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135824)
|
-- 作者:jingledyang
-- 发布时间:2019/6/3 23:16:00
-- 日期判断的重置列
我想控制列重置,跟据日期来控制数据更新,代码怎么弄出来呢?如图
此主题相关图片如下:考勤日记.jpg
此主题相关图片如下:入职信息.jpg
[此贴子已经被作者于2019/6/4 21:22:18编辑过]
|
-- 作者:有点甜
-- 发布时间:2019/6/4 10:06:00
--
贴出你datacolchanged事件代码。
|
-- 作者:jingledyang
-- 发布时间:2019/6/4 21:08:00
--
If e.DataCol.Name = "注册码" Then Dim nms()As String = {"姓名","公司名称","职务","计时日薪","双休日薪","工作地点"} If e.NewValue Is Nothing Then For Each nm As String In nms e.DataRow(nm)= Nothing Next Else Dim dr As DataRow dr = DataTables("入职信息").Find("[注册码]= \'" & e.NewValue & "\'") dr = DataTables("入职信息").Find("[注册码]= \'" & e.NewValue & "\'","入职日期 Desc") If dr IsNot Nothing For Each nm As String In nms e.DataRow(nm)= dr(nm) Next End If End If End If
烦请老师指点
|
-- 作者:有点蓝
-- 发布时间:2019/6/4 21:31:00
--
您想实现什么功能?
|
-- 作者:jingledyang
-- 发布时间:2019/6/4 22:59:00
--
我想在考勤日记表中的注册码列按下“重置列”后,要求同一个人,在不同的公司上班,按入职日期来判断,刷新数据。我知道没必要这么做,但是无意按了“重置列”,以前工作的数据变了。所以防止错误发生,只能修改代码。不知道弄了!
|
-- 作者:有点蓝
-- 发布时间:2019/6/4 23:15:00
--
还是没有搞懂到底想要做什么。按什么逻辑刷新什么数据?
|
-- 作者:有点甜
-- 发布时间:2019/6/5 13:07:00
--
你需要加上条件?如
dr = DataTables("入职信息").Find("[注册码]= \'" & e.NewValue & "\' and 公司名称 = \'" & e.datarow("公司名称") & "\'","入职日期 Desc")
|
-- 作者:jingledyang
-- 发布时间:2019/6/5 21:51:00
--
老师,我打个比方吧,一个人在公司上班,2019年1月是员工,工资是4000元/月,但是2019年3月20日提升为管理,工资为8000元/月,如果每天记录考勤,没有什么问题,但是在“考勤日记”表中的主键“注册码”列,点了“重置列”后,所有工资都会变成2019年3月20日升职工资(8000元/月)了,我想根据“入职信息”表中的“入职日期”作判断,决定“考勤日记”表的记录。
|
-- 作者:有点甜
-- 发布时间:2019/6/6 9:54:00
--
改成
dr = DataTables("入职信息").Find("[注册码]= \'" & e.NewValue & "\' and 入职日期 <= #" & e.datarow("入职日期") & "#","入职日期 Desc")
|
-- 作者:jingledyang
-- 发布时间:2019/6/6 21:13:00
--
If e.DataCol.Name = "注册码" Then Dim nms()As String = {"姓名","公司名称","职务","计时日薪","双休日薪","工作地点"} If e.NewValue Is Nothing Then For Each nm As String In nms e.DataRow(nm)= Nothing Next Else Dim dr As DataRow dr = DataTables("入职信息").Find("[注册码]= \'" & e.NewValue & "\'") dr = DataTables("入职信息").Find("[注册码]= \'" & e.NewValue & "\' and 入职日期 <= #" & e.DataRow("工作日期") & "#","入职日期 Desc") If dr IsNot Nothing For Each nm As String In nms e.DataRow(nm)= dr(nm) Next End If End If End If
谢谢老师了,调试OK了!
|