以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]新增行时自动根据上一行日期列递增(跳过周六和周日)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87754)

--  作者:mzpc
--  发布时间:2016/7/18 17:27:00
--  [求助]新增行时自动根据上一行日期列递增(跳过周六和周日)
表A 中有一列为日期

要求:

新增一行时,日期单元格自动根据上一行的日期递增填充,跳过周六和周日,
例如:上行日期2016-07-15,则新增行的日期为2016-07-18


图片点击可在新窗口打开查看此主题相关图片如下:新增行时自动填充日期(自动跳过周六周日).png
图片点击可在新窗口打开查看



--  作者:wyz20130512
--  发布时间:2016/7/18 22:17:00
--  
“上一行”是指当前行的“上一行”还是最后一行?
--  作者:大红袍
--  发布时间:2016/7/19 0:02:00
--  

DataRowAdded事件

 

Dim maxd As Date = e.DataTable.Compute("max(第三列)")
If maxd = Nothing Then
    maxd = Date.Today
Else
    Do
        maxd = maxd.AddDays(1)
    Loop While maxd.DayOfWeek = 0 OrElse maxd.DayOfWeek = 6
End If

e.DataRow("第三列") = maxd


--  作者:mzpc
--  发布时间:2016/7/19 10:30:00
--  
新增行的上一行
--  作者:mzpc
--  发布时间:2016/7/19 10:36:00
--  
谢谢版主,完全符合,正是我想要的效果。
--  作者:铜豌豆之首
--  发布时间:2016/9/28 21:51:00
--  
不跳过周日周六代码怎么修改
--  作者:有点蓝
--  发布时间:2016/9/28 21:57:00
--  

Dim maxd As Date = e.DataTable.Compute("max(第三列)")
If maxd = Nothing Then
    maxd = Date.Today
Else
        maxd = maxd.AddDays(1)
End If

e.DataRow("第三列") = maxd


--  作者:铜豌豆之首
--  发布时间:2016/9/28 22:27:00
--  

Dim maxd As Date = e.DataTable.Compute("max(第三列)") 此行是计算什么最多值?能否详解一下所有代码
If maxd = Nothing Then
    maxd = Date.Today
Else
        maxd = maxd.AddDays(1)
End If

e.DataRow("第三列") = maxd

另外 如何从跨表指定的日期递增 例如:我在A表中日期列输入2016/9/28 B表就自动增加5行,自动增加的五行首行日期为

2016/9/28 依次开始递增
[此贴子已经被作者于2016/9/28 22:38:24编辑过]

--  作者:有点蓝
--  发布时间:2016/9/28 22:37:00
--  

Dim maxd As Date = e.DataTable.Compute("max(第三列)") 第三列是日期列,计算整表第三列的最大值
If maxd = Nothing Then 如果第三列没有值
    maxd = Date.Today 从今天开始
Else
        maxd = maxd.AddDays(1) 否则为最大值+1天
End If

e.DataRow("第三列") = maxd


--  作者:铜豌豆之首
--  发布时间:2016/9/28 22:43:00
--  

Dim maxd As Date = e.DataTable.Compute("max(第三列)") 此行是计算什么最多值?能否详解一下所有代码
If maxd = Nothing Then
    maxd = Date.Today
Else
        maxd = maxd.AddDays(1)
End If

e.DataRow("第三列") = maxd

另外 如何从跨表指定的日期递增 例如:我在A表中日期列输入2016/9/28 B表就自动增加5行,自动增加的五行首行日期为

2016/9/28 依次开始递增