Foxtable(狐表)用户栏目专家坐堂 → 求高手指点


  共有1977人关注过本帖树形打印复制链接

主题:求高手指点

帅哥哟,离线,有人找我吗?
sgkyzfh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
求高手指点  发帖心情 Post By:2017/5/27 20:47:00 [只看该作者]

在一个表里字段有车号、安装日期、备件名称、数量、金额。在这个表里的同一车号名称下(例如1#车)有多个备件名称相同的记录,但发放日期不同。那么我的问题是:在表里查找日期相邻的记录,用后面的记录里的日期减去前面记录里的日期,得出使用天数,并将结果送入到前面记录的使用天数字段里。
车号 安装日期 备件名称 数量 金额 使用天数
1# 2017.3.4 传动轴 1 1230 31
1# 2017.2.3 连接盘 2 254  
1# 2017.4.4 传动轴 1 1230 31
1# 2017.5.2 螺栓 3 6
1# 2017.5.4 传动轴 1 1230
2# 2016.2.1 垫片 4 3






谢谢各位大侠帮忙

 回到顶部
帅哥哟,离线,有人找我吗?
zmagood
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:718 威望:0 精华:0 注册:2013/3/27 13:32:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:718 威望:0 精华:0 注册:2013/3/27 13:32:00
  发帖心情 Post By:2017/5/27 21:30:00 [只看该作者]

只提供一下思路,如果涉及重置列或,如果输入后,又要修改车号及备件名称时,还需要相应代码去清除上次的使用天数
还有上段find条件中还应该加上条件  安装日期 < 当前的日期

 回到顶部
帅哥哟,离线,有人找我吗?
sgkyzfh
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:98 积分:840 威望:0 精华:0 注册:2017/5/27 20:17:00
  发帖心情 Post By:2017/5/28 5:32:00 [只看该作者]

谢谢,各位大侠。有你们的热情周到,就有了我们的学习的毅力。想和有意的大侠学习指导我开发一个小项目,可洽谈合作。

 回到顶部