设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

access2010ADP中该怎样调用自定义Ribbon!

[复制链接]
跳转到指定楼层
1#
发表于 2013-5-23 11:52:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做了个登录窗体,登录成功后打开“主窗体”界面,并在主窗体的OPEN事件中增加了对自定义Ribbon的调用,可自定义Ribbon就出不来,不知道为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-5-23 13:06:00 | 只看该作者
要把程序传上来才好分析哦
3#
 楼主| 发表于 2013-5-23 16:18:42 | 只看该作者
我传不上来,我把代码传上来请你看看,是以前一个老师的例子,我在ADP中总是不能调用,在access2010是好的,转成ADP就不行了!

1.模块:Ribbonloader
Sub loadRibbons()

    Dim i As Integer

    Dim db As DAO.Database

    Set db = Application.CurrentDb

    For i = 0 To (db.TableDefs.count - 1)

        If (InStr(1, db.TableDefs(i).Name, "USysRibbons")) Then

            Dim rs As DAO.Recordset

            Set rs = CurrentDb.OpenRecordset(db.TableDefs(i).Name)

            rs.MoveFirst

            While Not rs.EOF

                On Error Resume Next

                Application.LoadCustomUI rs("RibbonName").Value, rs("RibbonXml").Value

                rs.MoveNext

            Wend

            rs.Close

            Set rs = Nothing

        End If

    Next i

    db.Close

    Set db = Nothing

End Sub

2.表:USysRibbons
lngID        RibbonName        RibbonXml
3        AppRibbon        "<customUI xmlns=""http://schemas.microsoft.com/office/2006/01/customui"">
<ribbon startFromScratch=""true"">
<tabs>
<tab id=""dbCustomTab"" label=""信息中心"" visible=""true"">
<group id=""dbCustomGroup"" label=""自定义组"">
<control idMso=""Paste"" label=""内置粘贴"" enabled=""true""/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>"

3.窗体:mainform
Private Sub Form_Open(Cancel As Integer)

loadRibbons

End Sub

点击这里给我发消息

4#
发表于 2013-5-26 08:04:53 | 只看该作者
ADP 不支持DAO,因此没有 CurrentDb
5#
 楼主| 发表于 2013-5-31 15:57:40 | 只看该作者
谢谢了
回复

使用道具 举报

点击这里给我发消息

6#
发表于 2013-6-11 12:07:21 | 只看该作者
这段程序应改为ADO访问:
  1. Sub loadRibbons()
  2.     Dim i As Integer
  3.     Dim rs As ADODB.Recordset

  4.     Set rs = CurrentProject.Connection.Execute("SELECT * FROM dbo.USysRibbons")
  5.     Do While Not rs.EOF
  6.         Application.LoadCustomUI rs("RibbonName").Value, rs("RibbonXml").Value
  7.         rs.MoveNext
  8.     Loop
  9.     rs.Close
  10.     Set rs = Nothing
  11. End Sub
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 22:26 , Processed in 0.114743 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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