以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]到期禁用按钮  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85693)

--  作者:clchen
--  发布时间:2016/6/1 9:32:00
--  [求助]到期禁用按钮
假设勾选某条数据后,根据这个日期判断是否是这月的数据,如果是这个月的数据到下个月5号将修改按钮禁用

 
图片点击可在新窗口打开查看此主题相关图片如下:3b{yzbti4edvb@%{1_zarw.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2016/6/1 9:45:00
--  

去编写currentChanged事件

 

If Forms("窗口1").Opened Then
    Dim d1 As Date = e.Table.Current("列5")
    Dim d2 As Date = Date.Today
    If Format(d1, "yyyyMM") - Format(d2, "yyyyMM") > 1 Then
        Forms("窗口1").Controls("Button1").Enabled = False
    Else
        If d2.Day >= 5 AndAlso Format(d1, "yyyyMM") - Format(d2, "yyyyMM") = 1 Then
            Forms("窗口1").Controls("Button1").Enabled = False
        Else
            Forms("窗口1").Controls("Button1").Enabled = True
        End If
    End If
End If


--  作者:clchen
--  发布时间:2016/6/1 10:18:00
--  
为何不行??
图片点击可在新窗口打开查看此主题相关图片如下:4%_caye{k4jnfm}r6)728dq.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:vrvyu}7t(`eyn4yyha3j.png
图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2016/6/1 10:24:00
--  

你是整体修改,还是一行一行修改啊?

 

If Forms("窗口1").Opened Then
    Dim d2 As Date = e.Table.Current("列5")
    Dim d1 As Date = Date.Today

    If Format(d1, "yyyyMM") - Format(d2, "yyyyMM") > 1 Then
        Forms("窗口1").Controls("Button1").Enabled = False
    Else
        If d2.Day >= 5 AndAlso Format(d1, "yyyyMM") - Format(d2, "yyyyMM") = 1 Then
            Forms("窗口1").Controls("Button1").Enabled = False
        Else
            Forms("窗口1").Controls("Button1").Enabled = True
        End If
    End If
End If


--  作者:clchen
--  发布时间:2016/6/1 10:34:00
--  
是一行一行修改的啊
--  作者:大红袍
--  发布时间:2016/6/1 10:44:00
--  
看4楼,不行,就上传实例。
--  作者:clchen
--  发布时间:2016/6/1 10:50:00
--  
OK 了谢谢 
--  作者:clchen
--  发布时间:2016/7/18 11:40:00
--  
如果列5没有数据的情况是报错的
--  作者:Hyphen
--  发布时间:2016/7/18 11:50:00
--  
那就加个判断
if e.Table.Current.isnull("列5") then return
Dim d2 As Date = e.Table.Current("列5")
......