设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[ADO/DAO] 调用函数窗体名称的引用

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-17 01:49:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
做了一个录入窗体.修改按钮调用一个自定义函数.Call kebianji(me)给控件做相应标记
    Sub kebianji(frm As Form)
    Dim ctl As Control
    Dim zct As Control
    For Each ctl In frm.Controls
        If TypeOf ctl Is ComboBox Or TypeOf ctl Is TextBox Then
           Select Case ctl.Tag
            Case "Y"
               ctl.Enabled = True
               ctl.Locked = False
               ctl.BackStyle = 1
               ctl.SpecialEffect = 2
            Case "N"
              ctl.Enabled = False
              ctl.Locked = True
              ctl.BackStyle = 0
              ctl.SpecialEffect = 5
            End Select

      End If
    Next ctl
这样,窗体中的控件就变成可编辑状态.但现在领导要求不能随意改.要加上授权限制.
做了一个授权窗体.按修改后先打开授权窗体.如果密码正确,希望调用上面的函数.但在传递窗体名的问题上,怎么也解决不了.
   call kebianji(forms!窗体名),这样虽然可以,但需要每个录入窗体,都要再做一个授权窗体.应该有更好的解决办法吧??希望指教.谢谢.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-12-17 08:16:55 | 只看该作者
请搜索“权限”有许多例子
3#
发表于 2009-12-17 08:48:47 | 只看该作者
用 Call kebianji(me.Name)
4#
 楼主| 发表于 2009-12-20 23:27:54 | 只看该作者
看了很多权限设置的例子.但还是没有我希望的例子.可能是我讲的不太清楚,我再解释一下.
比如一张领料单.在按"修改"的时候,会弹出"授权窗体".如密码正确,希望执行Sub kebianji(frm As Form)
这是一个自定义的函数.括号里是被执行的窗体名称.现在的问题出在窗体名称的传递上.如何让括号里的"窗体名称"参数,变成领料单的窗体名称.3楼的建议传递的应该是"授权窗体的名称,而不是领料单的.望高手指点.非常感谢.
5#
发表于 2009-12-20 23:57:27 | 只看该作者
我这里做了一个全局变量的示例程序,时间紧,做得很简单,希望能看明白。

在传递参数上方法有许多种,目前我知道至少4种以上,以下请参考
1,利用全局变量,我现用的例子,最简单,方便,最灵活
2,利用Openargs参数,任一变量均可,适用于变量较小时,
3,利用添加窗体自定义属性property,适用于通用窗体(公共窗体),比较麻烦
4,编写全局函数,再调用窗体(对话框),适用于通用窗体(公共窗体),比较麻烦,类似ACC自带显示比例窗体。
5,API方法更多了
6#
发表于 2009-12-20 23:58:31 | 只看该作者
哦,没贴到附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
 楼主| 发表于 2009-12-21 00:15:11 | 只看该作者
用方法一,解决了.真是太感谢了.这几天在这上面浪费了很多时间.
8#
发表于 2012-5-31 22:38:55 | 只看该作者
授权窗口有返回值,根据返回值来判断是否执行kebianji(frm As Form)

或者 授权窗口(调用窗口的窗口名),   在授权窗口中,把得到的窗口名作为变量再向kebianji函数传递。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-28 23:07 , Processed in 0.110928 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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