Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何使窗体按扭每天只允许被按下一次?

恐龙的传人  发表于:2014-11-07 11:56:51  
复制

当天按下一次后运行按扭所赋予的内容,然后当天不能再按。直到第二天才能使用。

 

Top
bjllk 发表于:2014-11-07 12:46:54
设个字段,每天归零,点击按钮后更新为1,次日又归零

benhum 发表于:2014-11-08 13:24:27

设一个表,专用记录按下该按钮的记录。

如,建表: TAB打开次数

表设置一个时间字段,如“打开时间”


当按下该接钮时:

1)如果检测表中的“打开时间”字段有当天的日期,则提示不能使用该按钮。

2)如果检测表中的“打开时间”字段没有当天的日期,将当前的日期写入表“TAB打开次数”,并执行你要继续执行的事件。


如:

        if dmax("[ 打开时间]", "TAB打开次数")=date() then

              msgbox "你今天不能点击该按钮了。",vbokonly,"系统提示"

        else

         '将当天的日期写入到表中

             docmd.setwarnings false

             docmd.runsql "insert into TAB打开次数(打开时间)select #"& date() &"#"

             docmd.setwarnings true

        '执行你要继续执行的事件

              docmd.openform "窗体2"

        end if


上述对码未经测试,只是提供一个思路,希望对你有帮助。




朱先生 发表于:2014-11-09 21:27:20
小小鸟 发表于:2014-11-22 16:51:16
以上的方法都不可行,如果用户更改计算机时间,就又可以按了,我们要从服务器取时间,然后和我们前一次单击的时间对比,这样才能做到一天只能单击一次哦,可以联系我QQ:276059836

煮江品茶 发表于:2014-11-24 16:49:41

很简单嘛


1、加一个数据表名曰控制表,四个字段:窗体名称,按钮名称,日期,可用

2、在系统登录时,判断日期字段是否为服务器当前日期,如果不是,则将日期更新为当前日期,同时将可用字段更新为True。

3、在需要控制按钮的那个窗体的加载事件中,写:

dim ctrl as control
for each ctrl in me.controls
   if ctrl.controltype=acCommandButton then
       ctrl.Enabled=nz(dlookup("锁定","控制表","窗体名称='" & me.name & "' and 按钮名称='" & ctrl.name & "'"),true)
   end if
next

4、在需要控制的按钮的单击事件中,最后加两句:
CurrentDb.Execute "update 控制表 set 锁定=false where 窗体名称='" & me.name & "' and 按钮名称='" & me.ActiveControl.name & "'"
me.ActiveControl.Enabled=false '如果对具有焦点的按钮无法设置的话,先让焦点放到其他控件上




恐龙的传人 发表于:2014-12-24 23:53:11
谢谢楼上各位,三楼的伙计给出示例,所以设为最佳答案

总记录:6篇  页次:1/1 9 1 :