设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2737|回复: 11
打印 上一主题 下一主题

[Access本身] ACCESS利用函数隐藏控件

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-30 20:40:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题很简单,我现在需要通过函数打开同一个窗体,但通过不同的按纽来打开,对应不同的函数,需要在函数部分除了执行下面的代码外
Function XSquery()
Dim strName As String  
strName = "DBquery"
    DoCmd.Close
    DoCmd.OpenForm strName
End Function
我先加入两方面的东西,
一是隐藏打开窗体中的几个控件和标签,以及子窗体.
二是想要通过函数,给标签txtName = "XXXXXX"属值

往各位老大们帮忙解决啊~~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-1-30 20:49:03 | 只看该作者
两个方案你可以试一下。

一: 在DoCmd.OpenForm strName之后,利用forms!DBquery.controlName.visible=false来隐藏

二: 在DBquery中的load事件中根据传入的参数来设置 me.contorlname.visible = false (推荐,低藕合)
    docmd.OpenForm "DBquery",,,,,,"HIDE"
    最后一个是参数,会传入到DBquery, 然后再DBquery的load事件中根据 me.OpenArgs 做 select case





*****************
*  一切皆有可能 *
*****************


QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.office-cn.net .

http://www.office-cn.net/home/space.php?uid=141646 .
3#
发表于 2009-1-30 20:51:45 | 只看该作者
Me.控件名称.Visible = False
4#
 楼主| 发表于 2009-1-30 21:03:26 | 只看该作者
两个方案你可以试一下。

一: 在DoCmd.OpenForm strName之后,利用forms!DBquery.controlName.visible=false来隐藏

二: 在DBquery中的load事件中根据传入的参数来设置 me.contorlname.visible = false (推荐 ...
ACMAIN_CHM 发表于 2009-1-30 20:49


第一中方法想到过,可就是不知道该怎么写,看了半天帮助,撒也没看明白,先谢谢老大了~~

第二中方法没有看懂,汗~很惭愧,能具体点不,刚开始学习ACCESS
5#
发表于 2009-1-30 21:08:39 | 只看该作者
本帖最后由 tanhong 于 2009-1-30 21:10 编辑

之前我发过一个关于控件批量隐藏趣题解读,也许对你会有所帮助,不过在另一个论坛上。http://accesshome.5d6d.com/viewt ... =&highlight=&page=2
6#
 楼主| 发表于 2009-1-30 21:11:17 | 只看该作者
谢谢大家,问题基本解决了,非常感谢ACMAIN_CHM 和tanhong ~~
虽然解决的自问不是很完美,不过慢慢学习吧~~~
7#
发表于 2009-1-31 08:51:56 | 只看该作者
2楼的“低藕合”是什么意思?2楼的第二种方案最好能详细说一说
8#
发表于 2009-1-31 09:26:42 | 只看该作者
2楼的“低藕合”是什么意思?2楼的第二种方案最好能详细说一说
ycxchen 发表于 2009-1-31 08:51


关于“内聚和耦合”我抄了一篇文章放在我的日志中了。

第二种方案的实现
新建一个窗体,FORM3, 在上面放一个命令按钮 Command0,再放一个 文本框 Text1

在FORM3的load事件中

Private Sub Form_Open(Cancel As Integer)
    Select Case Me.OpenArgs
        Case "HIDE"
            Me.Text1.Visible = False
        Case "TEST"
            Me.Command0.Caption = "TEST"
        Case Else
    End Select
End Sub


然后你可以做测试

docmd.OpenForm "form3",,,,,,"TEST"

docmd.OpenForm "form3",,,,,,"HIDE"

看一下效果。






*****************
*  一切皆有可能 *
*****************

QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/SList/Access .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
http://www.office-cn.net/home/space.php?uid=141646 .
9#
发表于 2009-1-31 18:14:25 | 只看该作者
谢谢CHM的热心指教!
10#
发表于 2009-2-1 08:51:43 | 只看该作者
我觉得8楼的办法倒没有用Me.Text1.Visible = False方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 08:58 , Processed in 0.093979 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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