设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 9577|回复: 22
打印 上一主题 下一主题

Access 2007 手动加载功能区(答LeeTien )

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2010-3-15 12:15:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LeeTien 写了这样一函数来加载功能区:

Public Function LoadRibbons()
    'Load ribbons into the database
    On Error GoTo Error1
    Dim db As DAO.Database
    Set db = Application.CurrentDb
    Dim rs As DAO.Recordset
    Set rs = db.OpenRecordset("tblRibbon")
    ' tblRibbon has to be replaced by your table name.
    Do Until rs.EOF
        Application.LoadCustomUI _
        rs("RibbonName").Value, rs("RibbonXML").Value

        rs.MoveNext
    Loop

Error1_Exit:
    On Error Resume Next
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    Exit Function
Error1:
    Select Case Err
        Case 32609
        ' Ribbon already loaded
    Case Else
        MsgBox "Error: " & Err.Number & vbCrLf & _
               Err.Description, vbCritical, _
               "Error", Err.HelpFile, Err.HelpContext
    End Select
    Resume Error1_Exit
End Function

可是:
他把它放在启动窗体的加载事件里:
  1. Sub Form_Load()
  2.    Call CreateRibbon
  3. End Sub
复制代码
来加载,当打开启动窗体时,并没有出错提示,但也看不到自定义功能区!

这是什么原因呢?


原因在于
Access 2007在显示功能区之前首先要加载功能区。

比如窗体的功能区,我们必须在加载窗体之前加载功能区的XML,然后,指定这个窗体的功能区属性为这个功能区的名称,那么,打开这个窗体的时候,就会显示这个功能区,关闭这个窗体,那么这个功能区也会随之关闭,但是,功能区并没有从内存去除,因此,当第二再打开这个窗体的时候,不需要再加载这个功能区就能显示功能区,反之,则程序出错。

而对于全局的功能区,它又是如何显示的呢?

只要是用的USysRibbons这个表存储的功能区,Access2007会自动加载并显示功能区。往往这不是我们所需要的,因为我们需要根据登录用户来显示不同的功能区,所以我们想手动控制。

那么,Access2007何时显示手动加载的功能区呢?我们知道,窗体显示功能区只要指定其功能区属性就可以显示与之相关的功能区。

同样,Access2007的全局功能区需要在Access的选项中的当前数据库选项卡中指定全局功能区的名称。

那么何时加载这个全局功能区呢?

事实上,Access有两种自动运行的机制:启动窗体和Autoexec自动宏,它们在数据库打开时都会自动运行。但两者的区别在于,Autoexec宏在Access初始化之前运行,启动窗体在Access初始化之后运行。全局功能区的显示则是在Access初始化之后,在启动窗体运行之前。因此,我们必须在Autoexec自动宏中加载功能区,才能显示全局功能区。

所以我们设计一个自动宏Autoexec如下

参数
RunCodeLoadRibbons

这样,我们在数据库启动的时候就会首先运行自动宏来加载功能区,在数据库初始化之后,就能显示这个功能区了。

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖2 订阅订阅
2#
发表于 2010-3-18 09:49:54 | 只看该作者
也在研究这个问题
3#
发表于 2010-3-18 14:30:31 | 只看该作者
学习
学习
4#
发表于 2010-3-19 14:56:27 | 只看该作者
学习
学习
5#
发表于 2010-3-19 15:18:17 | 只看该作者
謝謝
學習學習

点击这里给我发消息

6#
发表于 2010-5-18 08:05:54 | 只看该作者
学习之
7#
发表于 2010-5-21 12:50:55 | 只看该作者
看看,研究。
8#
发表于 2010-6-3 05:51:07 | 只看该作者
学习
学习
9#
发表于 2010-11-25 16:43:53 | 只看该作者
sdfgsdfgs
10#
发表于 2010-12-8 09:33:37 | 只看该作者
广州购物    李老太家住大东区尚品天成小区,退休前曾当过教师的她,平常喜爱读书看报,不久前还对电脑产生了兴趣。一个多月前,远在江苏的小姑子来沈串门,闲唠家常中,李老太得知“南京桂花鸭”非常好吃。可是,沈阳距南京那么远,咋去买呢?
  “眼下时兴网购,您可以在网上购买呀!”在侄女的帮助下,李老太轻点鼠标完成了网购。她所购买的是:五件套“南京桂花鸭”,价格是118/盒。
  意外打击:
  拆开包装鸭子臭啦
  40天后,邮差送来了鸭子。当她打开层层精美的外包装后却傻眼了:五件套中的鸭翅、鸭腿等真空包装袋还算正常,而透过那只盛装着“桂花鸭”的真空塑料袋看,里面的鸭子已发黑发腐,隔着塑料袋都能闻到刺鼻的臭味。“难道是过了保质期?”李老太戴上老花镜,仔细观察后发现,还差20天才到保质期呢。
  李老太决心维权。她首先查到了“南京桂花鸭集团有限公司”的电话。接线员听完李老太的讲述后,留下一句:“我们需对此事进一步调查,您等候消息吧!”此后很长时间,李老太没得到任何消息。
  无奈感慨:
  异地执法目前挺难
  李老太不服输,先后跑到沈阳市工商局、沈阳市消费者协会投诉。然而,工作人员无奈地表示,没办法异地执法。
  她又找到本报记者投诉。当日,淘宝网相关负责人接受采访时称,如果消费者能提交证据,网站会依照消费者保障计划进行赔付及惩处。可是,如何确定是食物本身问题,还是运输中变质?该负责人并无明确回答。当地饮食
  昨日,李老太反馈称,“南京桂花鸭”厂家来电称:可以再邮寄两只鸭子作为赔偿。对此,李老太感到既气愤又无奈。她感叹:“网上维权还是太难啦!”(转载)
实体街从上述转载来的事件看来,网购确实存在很多的问题。因此,很多东西不是说网购就是最好的选择。我相信,他们当地应该有商家代理这个牌子的商品。只是他们不知道而已。只要在当地城市购买,既可以面对面检查。就算出了问题,维权也很方便。起码对方在同一城市。
其实网购的维权目前还不完善。很多法规法制还没有完善落实。这都会给消费者带来很多的不便。有些东西还是当面验货为好。网上的还是有些虚无缥缈。真假分辨都要花费很长时间。让人担心,不放心。实现中不能说百分百是没有错失的,但也比网购更让人放心。维权方面也更完善一些。证据和处理归属也明确。因此现在很多人都喜欢网购本地化。他们找当地城市里最好的。他们在实体街上得到更多的实惠。请大家多关注一下身边的商家和商品吧。其实身边的才是最好的。


相关文章:
“网购先上我们身边的街”更实惠
教你选择合适你的文胸
红酒与红酒文化
商铺
跳着性感的钢管舞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-1 18:06 , Processed in 0.095867 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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