设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12345下一页
返回列表 发新帖
查看: 16142|回复: 42
打印 上一主题 下一主题

[窗体] 【原创 / 文章】在Access中使用“用户窗体”(图文教程)

[复制链接]
跳转到指定楼层
1#
发表于 2005-8-26 19:28:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
大家都知道,在VB中,我们可以创建用户窗体(UserForm),在VB环境中我们可以直接自由绘制窗体。作为同核心的VBA,我们在Access中却无法使用用户窗体,只能只用Access的窗体,虽然两者类似,但是还是有很多的区别,有的时候我们会需要用到用户窗体。难道微软真的这么绝情?

但是!我们在Access VBA环境的自定义工具栏中赫然看到“用户窗体”,虽然内容是灰色的,但是这意味着我们只要创建一个用户窗体,我们就可以直接在Access VBA环境中编辑他。微软保留了编辑功能,这就意味着Access VBA并没有放弃支持用户窗体,只是我们无法创建他而已。

用户窗体的激活意味着我们可以重用大量的VB源码,而几乎不需要作任何改动。



1、尝试创建:

工程资源模块—插入

令人失望的是,只有模块和类模块,没有窗体。



2、尝试导入

工程资源模块—导入

这下有了,导入文件格式里面包含窗体。



于是我们打开VB,创建一个空的窗体,然后导出成.frm文件。

使用VBA导入,失败……

错误信息:

VBE 不支持 “C:\xxx\xxx\xxx.frm” 中包含的窗体类,窗体不能被加载

我们点击帮助后,看到VBA如下解释:



原来VBA只支持用户窗体(UserForm),我们用记事本打开.frm文件,发现格式居然是VB.Form



3、求助兄弟

看来VB的路子走不通了,但是我们去哪里搞个UserForm的导出来呢?

这时候我们想到了Access的亲兄弟Excel,没错,Excel中是没有窗体的,那么Excel的VBA应用程序要用窗体怎么办呢?他一定有办法创建窗体,我们去找他聊聊。

我们在Excel中打开VBA环境,尝试创建一个窗体:



太好了,Excel的VBA环境可以创建用户窗体,没话说,找他借一个,自家兄弟嘛。

Excel创建窗体,然后导出……

回到Access,然后导入……

太感动了,我们终于在Access中创建了一个用户窗体,工程资源中被微软被Access屏蔽的窗体分类也出现了,而且我们看到,Access完全支持用户窗体的编辑,一向默默无闻的工具箱和用户窗体的工具栏也被激活了!



4、编辑用户窗体

感动之下,情不自禁,我们开始自己来编辑这个用户窗体。

画个文本框……

加入一个图形……

……

怎么就这么几个控件……少了点……

居然也不能自己添加……

不会吧,难道用户窗体就支持这几个控件?这决不可能!

看来又是Access在捣鬼,但是:我们发现了“导入”!看来又要找兄弟去借了……

打开Excel,创建用户窗体,工具箱上面也是这么几个控件,我们点击右键发现……



太好了,可以“附加控件”,立即动手,附加了一堆第三方控件。

然后导出页为选项卡.Pag格式。

回到Access,在工具箱上面导入.Pag文件



再次感动,我们的工具箱上面多了一个页,里面包含了我们刚才在Excel中附加的控件。

让我们来试试创建一个,成功!

添加一个滚动条……

添加一个记录浏览器……

(疯狂添加中……)

5、结束语

至此,我们已经可以做到:


  • 在Access VBA环境中创建和编辑用户窗体
  • 在Access VBA环境中扩展工具箱


是的,对于我们来说,Access VBA被屏蔽的用户窗体创建和编辑功能已经被激活了,怎么样,是不是很想马上在你的程序中使用一下用户窗体了?更重要的是,你现在可以从网上下载很多VB的源码放到这里直接使用了,包括Excel里面包含窗体的源码。而不需要象以前那样只能下载无窗体的源码,或者手工移植窗体相关的代码到Access.Form,这对我们而言,是一个太大的好消息了。

附上我做到一个用户窗体演示:











6、后记









<FONT color=#ff0000>经过Trynew指点,原来微软只

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
43#
发表于 2018-10-15 15:47:56 | 只看该作者
谢谢
回复

使用道具 举报

42#
发表于 2011-4-22 00:21:37 | 只看该作者
学习到  收藏
41#
发表于 2010-3-8 16:31:19 | 只看该作者
不管怎样,非常佩服楼主专研精神~
40#
发表于 2009-10-24 14:45:22 | 只看该作者
可以解决许多在access支持不是很好的控件的问题,
经过测试,在用户窗体中可以很好的支持。
39#
发表于 2009-1-3 20:12:51 | 只看该作者
刚看到你这个帖子的时候一阵狂喜,摸了之后很是失落。因为即使能添userform,也还是不能把别的VB project里的FORM导入。这样拿到其他带窗体的VB源码也还是不能用,因为不知道人家窗体是怎么布置的,犹如瞎子摸象。
38#
发表于 2007-12-4 02:06:57 | 只看该作者
zxfcdas asdf fas asfs
37#
发表于 2006-12-10 10:35:00 | 只看该作者
不服不行啦!
36#
发表于 2006-9-17 23:33:00 | 只看该作者
非常有帮助,谢了

35#
发表于 2006-9-17 02:50:00 | 只看该作者
实在是高.学习了.我用的是access2000,可是没找到那个隐藏菜单??! 难道还是只有这个绕弯的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 11:23 , Processed in 0.098949 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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