设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1614|回复: 2
打印 上一主题 下一主题

[模块/函数] 关于事件上与权限设定的问题

[复制链接]
跳转到指定楼层
1#
发表于 2013-5-18 15:14:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我模仿红尘如烟的通用开发平台的设置权限的函数并按照我的理解做了一段FUNCTION,并按照我的理解做了一些调整,并做了调试。
奇怪的是我功能函数放在按钮里面运行正常,但放到form.OnXxxx就不行了。
function如下:
  1. Public Function fnintSetRightOfFormButton(strFormName As String, RightOfEdit As Boolean, RightOfAdd As Boolean, RightOfDelete As Boolean) As Integer
  2. Dim ctl As Control
  3. If fnblObjectExists("form", strFormName) = True Then
  4.     Forms(strFormName).AllowEdits = RightOfEdit
  5.     Forms(strFormName).AllowAdditions = RightOfAdd
  6.     Forms(strFormName).AllowDeletions = RightOfDelete
  7.     For Each ctl In Forms(strFormName)
  8.         If ctl.Name Like "cmd*Add*" And ctl.ControlType = acCommandButton Then
  9.         ctl.Enable = RightOfAdd
  10.         ElseIf ctl.Name Like "cmd*Edit*" And ctl.ControlType = acCommandButton Then
  11.         ctl.Enable = RightOfEdit
  12.         ElseIf ctl.Name Like "cmd*Del*" And ctl.ControlType = acCommandButton Then
  13.         ctl.Enable = RightOfDelete
  14.         End If
  15.     Next ctl
  16.     fnintSetRightOfFormButton = 1
  17. Else
  18. MsgBox "该窗体不存在"
  19. fnintSetRightOfFormButton = -1
  20. End If
  21. End Function
复制代码
考虑到可能事件只能用sub,我把这个FUNCTION改成了一个无返回值的SUB,但还是无效。
在一个按钮的CLICK事件中写了这样的代码,如下:
  1. Private Sub Command0_Click()
  2. DoCmd.OpenForm "窗体2"
  3. Forms("窗体2").OnOpen = "=fnsubSetRightOfFormButton ('窗体2' , False, False, False)"
复制代码
PS.fnsubSetRightOfFormButton是fnintSetRightOfFormButton的sub形式
另外fnblObjectExists("form", strFormName) 是我自写的另外一个自定义FUNCTION
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-5-18 18:00:33 | 只看该作者
在属性设置中只能调用Public Function。
3#
 楼主| 发表于 2013-5-18 18:47:49 | 只看该作者

RE: 关于事件上与权限设定的问题

todaynew 发表于 2013-5-18 18:00
在属性设置中只能调用Public Function。

我用的是function,不过无返回值。请版主再看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 07:58 , Processed in 0.101960 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表