在MS Access 2007中,我希望在数据表和窗体视图之间切换,而不进行筛选,并保留在当前记录中。
我应该使用书签吗?怎么做到的?或者,我如何在功能区上放置一个按钮来切换视图,而不必搜索记录或使用过滤器。
我需要它来运行Access 2007 Runtime,因为它将在未授权的计算机上实现。似乎某些功能区按钮和组即使已定义也不会显示:
我尝试了功能区中的"GroupViews“和"ViewsModeMenu”选项,但它们在运行时不起作用。此外,任何更改视图的功能区选项也会重新查询数据集中的第一条记录,而不是保留当前记录。
发布于 2010-01-14 21:27:34
此示例RibbonXML创建两个按钮,第一个用于关闭窗体,第二个用于在DatasheetView中显示特定窗体。可以使用窗体属性表的[其他]选项卡添加对功能区的引用。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="tab1" label="Object Helpers">
<group id="grp1" label="Helpers">
<!-- close current object button -->
<button id="btnCloseObject" label="Close Current Object"
size="large"
imageMso="PrintPreviewClose"
onAction="OnCloseCurrentObject"/>
<!-- show datasheet -->
<button id="btnShowDatasheet" label="Show Datasheet"
size="large"
imageMso="AccessFormDatasheet"
onAction="ShowDatasheet"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>您还需要一些代码和对Microsoft Office 12.0或14.0对象库的引用(代码窗口中的工具->引用)。
Public Sub OnCloseCurrentObject(ctl As IRibbonControl)
DoCmd.Close CurrentObjectType, CurrentObjectName
End Sub
Public Sub ShowDatasheet(ctl As IRibbonControl)
''This saves the current unique ID
CurRec = Forms!Test!TransactionID
DoCmd.RunCommand acCmdDatasheetView
''This finds the saved ID, however, it is not necessary in Access 2010
''Because the bookmark is kept from form view
Forms!Test.Recordset.FindFirst "TransactionID=" & CurRec
End Sub更多信息:http://www.accessribbon.de/en/index.php?Downloads
http://blogs.msdn.com/access/archive/2007/09/24/ribbon-customization-closing-the-currently-open-object.aspx
https://stackoverflow.com/questions/2062091
复制相似问题