在MS Access 2007,我想和数据表之间切换形成的意见,无需过滤,并保持在当前纪录。
我应该使用书签? 怎么样 ? 或者我怎么可能将色带上的一个按钮来切换视图,而无需搜索记录或使用过滤器。
我需要它来运行Access 2007的运行,因为它会在非授权的计算机上实现。 似乎某些色带butttons&组即使定义没有显示:
我尝试了“GroupViews”,并在丝带“ViewsModeMenu”的选择,但他们不会在运行时正常工作。 同样,更改视图的任何色带选项也重新查询到数据集中的第一条记录,而不是保留当前记录。
你也许可以凑齐的东西,这两种观点之间翻转,但是作为一个一般的规则,你好得多建立一个持续的形式与用户点击启动一个细节形成按钮。
试图控制如何,什么形式继续显示,而不是一个表单,允许用户查看/编辑/打印/核实和简单地控制在一个合理的庄园用户界面,意味着你们好得多推出另一种形式。 而且,这不仅解决了一系列问题,但它只是一个或两行代码,你在不断的形式,允许用户启动+查看其他形式的不失去你的地方。 例如:
Docmd.OpenForm "frmDetails",,,"id = " & me!id
下面是截图,什么非常好的关于继续访问形式的按钮和对象重复为您提供:
而且,这里另一个问题:
(来源: shaw.ca )
此外,请注意按钮是多么重复,而上述两种形式使用一行代码我张贴以上。
继续形式是一个很好的解决方案,我不认为它是值得的麻烦或努力尝试和视图之间翻转。 和上面的思路运行时工作得很好也。
你已经创建了一个自定义功能区( http://www.databasedev.co.uk/access2007ribbon.html )?
此示例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
文章来源: How do I switch between Access Form and Datasheet views, and remain on the same record, without filtering?