如何访问表和数据表视图之间切换,并保持在相同的记录,不进行过滤?(How do I switch b

2019-10-19 03:15发布

在MS Access 2007,我想和数据表之间切换形成的意见,无需过滤,并保持在当前纪录。

我应该使用书签? 怎么样 ? 或者我怎么可能将色带上的一个按钮来切换视图,而无需搜索记录或使用过滤器。

我需要它来运行Access 2007的运行,因为它会在非授权的计算机上实现。 似乎某些色带butttons&组即使定义没有显示:

我尝试了“GroupViews”,并在丝带“ViewsModeMenu”的选择,但他们不会在运行时正常工作。 同样,更改视图的任何色带选项也重新查询到数据集中的第一条记录,而不是保留当前记录。

Answer 1:

你也许可以凑齐的东西,这两种观点之间翻转,但是作为一个一般的规则,你好得多建立一个持续的形式与用户点击启动一个细节形成按钮。

试图控制如何,什么形式继续显示,而不是一个表单,允许用户查看/编辑/打印/核实和简单地控制在一个合理的庄园用户界面,意味着你们好得多推出另一种形式。 而且,这不仅解决了一系列问题,但它只是一个或两行代码,你在不断的形式,允许用户启动+查看其他形式的不失去你的地方。 例如:

Docmd.OpenForm "frmDetails",,,"id = " & me!id

下面是截图,什么非常好的关于继续访问形式的按钮和对象重复为您提供:

而且,这里另一个问题:


(来源: shaw.ca )

此外,请注意按钮是多么重复,而上述两种形式使用一行代码我张贴以上。

继续形式是一个很好的解决方案,我不认为它是值得的麻烦或努力尝试和视图之间翻转。 和上面的思路运行时工作得很好也。



Answer 2:

你已经创建了一个自定义功能区( 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?