以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于带条件判断的日期输入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107629)

--  作者:洮沙
--  发布时间:2017/10/5 21:50:00
--  [求助]关于带条件判断的日期输入


图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看

有这么一个表,想根据资格列中是“小规模纳税人”还是“一般纳税人”进行判断,如果资格列当前行是“小规模纳税人”,“开始日期”一列自动根据“月”列的数值前退2个月的1日显示,如“2017-07-01”;如果资格列是“一般纳税人”,“开始日期”一列自动根据“月”列的数值的1日显示,如“2017-09-01”。

 

“结束日期”始终根据“月”列的数值的月末显示,如“2017-09-30”。

 

 

自己搞了半天,不会弄。现在自己感觉有点似懂非懂的!越来越不会弄了,希望老师帮帮!谢谢!

[此贴子已经被作者于2017/10/6 8:37:53编辑过]

--  作者:有点甜
--  发布时间:2017/10/6 11:25:00
--  

DataColChanged事件

 

Select Case e.DataCol.name
    Case "年", "月", "资格"
        If e.DataRow.isnull("年") OrElse e.DataRow.isnull("月") OrElse e.DataRow.isnull("资格") Then
            e.DataRow("开始日期") = Nothing
        Else
            If e.DataRow("资格") = "小规模纳税人" Then
                Dim d As Date = new Date(e.DataRow("年"), e.DataRow("月"), 1)
                e.DataRow("开始日期") = d.AddMonths(-2)
            ElseIf e.DataRow("资格") = "一般纳税人" Then
                e.DataRow("开始日期") = new Date(e.DataRow("年"), e.DataRow("月"), 1)
            Else
                e.DataRow("开始日期") = Nothing
            End If
        End If
End Select

[此贴子已经被作者于2017/10/6 11:26:37编辑过]

--  作者:洮沙
--  发布时间:2017/10/6 12:13:00
--  回复:(有点甜)DataColChanged事件 Select...
谢谢老师,特别有用!