以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  日期列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141608)

--  作者:deliangzhaoe
--  发布时间:2019/10/6 20:19:00
--  日期列
表A有日期列,要求此列在输入日期时,不得早于上一行的日期,可以与上一行日期相同,代码如何写?谢谢
另外,表A禁止上移行、下移行,禁止插入行,怎么写?
[此贴子已经被作者于2019/10/6 20:22:32编辑过]

--  作者:有点蓝
--  发布时间:2019/10/6 20:30:00
--  
禁止上移行、下移行,禁止插入行把插入行标志列勾选去掉即可:http://www.foxtable.com/webhelp/topics/1791.htm

datacolchanging事件

If e.DataCol.name = "日期" AndAlso e.newvalue <> Nothing Then
    Dim idx As Integer = Tables(e.DataTable.name).findrow(e.DataRow)
    If idx > 0 Then
        Dim r As Row = Tables(e.DataTable.name).rows(idx - 1)
        If r("日期") > e.newvalue Then
            msgbox("不得早于上一行的日期")
            e.cancel = True
        End If
    End If
End If

--  作者:deliangzhaoe
--  发布时间:2019/10/7 8:13:00
--  
上面的求助掉下了一个条件:
表A有日期列、企业名称列,要求日期列在输入日期时,不得早于本企业最晚的日期,可以与最晚的日期相同
If e.DataCol.name = "日期" AndAlso e.newvalue <> Nothing Then
    Dim idx As Integer = Tables("安全费用使用").findrow("企业名称 = \'" & e.DataRow("企业名称") & "\'")
    If idx > 0 Then
        Dim r As Row = Tables("安全费用使用").rows(idx - 1)
        If r("日期") > e.newvalue Then
            msgbox("此日期不得早于本公司最后一行的日期,不得插入行和上下移动行!  请重新输入!")
            e.cancel = True
        End If
    End If
End If

帮忙改一下代码吧?

--  作者:有点蓝
--  发布时间:2019/10/7 8:43:00
--  
参考:http://www.foxtable.com/webhelp/topics/1284.htm