以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求高手指点 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101303) |
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/5/27 20:47:00 -- 求高手指点 在一个表里字段有车号、安装日期、备件名称、数量、金额。在这个表里的同一车号名称下(例如1#车)有多个备件名称相同的记录,但发放日期不同。那么我的问题是:在表里查找日期相邻的记录,用后面的记录里的日期减去前面记录里的日期,得出使用天数,并将结果送入到前面记录的使用天数字段里。
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:zmagood -- 发布时间:2017/5/27 21:15:00 -- 在DataColChanged事件 If e.DataCol.Name = "车号" OrElse e.DataCol.Name = "备件名称" OrElse e.DataCol.Name = "安装日期" Then If e.DataRow.IsNull("车号") = False AndAlso e.DataRow.IsNull("备件名称") = False AndAlso e.DataRow.IsNull("安装日期") = False Then Dim drf As DataRow = e.DataTable.Find("车号=\'" & e.DataRow("车号") & "\' And 备件名称 = \'" & e.DataRow("备件名称") & "\' And _Identify <> " & e.DataRow ("_Identify") ,"安装日期 desc") If drf Is not Nothing Then drf("使用天数") = (e.DataRow("安装日期") - drf("安装日期")).TotalDays drf.save End If End If End If [此贴子已经被作者于2017/5/27 21:19:22编辑过]
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:zmagood -- 发布时间:2017/5/27 21:30:00 -- 只提供一下思路,如果涉及重置列或,如果输入后,又要修改车号及备件名称时,还需要相应代码去清除上次的使用天数 还有上段find条件中还应该加上条件 安装日期 < 当前的日期
|
||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/5/28 5:32:00 -- 谢谢,各位大侠。有你们的热情周到,就有了我们的学习的毅力。想和有意的大侠学习指导我开发一个小项目,可洽谈合作。 |