1

我在 MS Access 中创建了一个表单。不幸的是,我不能publish to access services或做一个package solution

我正在寻找一种用户友好的方式来将此表单呈现给用户。到目前为止,用户将打开 ms 访问文件,单击form并填写。

我想有一种方法只提供表格。我不希望用户看到所有的表格和结构。. 有什么办法可以将表格与表格、查询等列表分开?

我拆分了数据库,并给了fe用户一个副本,但它仍然很糟糕!所有这些面板和东西。MS Access 有什么可以解决这个问题的吗?

4

2 回答 2

1

拆分数据库的问题和创建编译的 accDE 的问题与隐藏 Access 接口没有一点关系。

100% 独立的问题和问题。

现在,毫无疑问,对于任何访问应用程序都应该完成上述操作,但上述与隐藏访问接口无关。

隐藏访问 UI 后,您可以考虑编译为 accDE 的想法,以防止用户进入访问 UI 部分。

拆分也是如此。你真的需要分开。但是,再次拆分与隐藏 accsss 接口无关。

所以现在,让我们开始隐藏访问接口。

要隐藏所有访问界面并只显示表单,您需要在启动代码中添加一行(表单加载事件很好)。

因此,请在选项中指定要显示的表单。

将这一行 VBA 代码添加到表单加载事件中。

DoCmd.ShowToolbar "Ribbon", acToolbarNo

您需要的其他设置是:

[x] 显示导航窗格 <-- 取消选中此框。

[x] 使用访问特殊键 <--取消选中此框

设置访问以使用选项卡式界面,并取消选中该框以显示选项卡。

表格不得弹出。它可以是模型,但不能弹出。

结果是您只会看到表格。这显示了结果:

在此处输入图像描述

现在记住要回到“开发者”模式,你必须退出,然后在启动过程中按住 shift 键。当您完成所有这些工作时,您希望编译为 accDE,并搜索一些有关如何在启动期间禁用 shift 键以防止用户看到访问 UI 的答案。

所以你只需要一行代码就可以实现这个目标。剩下的就是在你的应用程序中选择正确的设置,以及启动时的那一行代码。

于 2019-01-13T01:10:31.843 回答
0

发布已编译的 accde 文件并为最终用户做好准备的步骤:

  1. 备份:备份您的accdb /mdb 文件
  2. 从数据库选项中取消选中以下元素

    (办公按钮=>访问选项=>当前数据库):

    • 显示导航窗格
    • 允许完整菜单
    • 允许默认快捷菜单

在此处输入图像描述


  1. 安全性:为防止任何人使用 Shift 键绕过启动并访问表格,请使用以下代码:

Public Function DisableByPass()
On Error GoTo err_proc
'Disable By Pass Key in mde/accde db
    Dim dbs As DAO.Database
    Dim prp As Property
    Dim strMDE As String

    Set dbs = CurrentDb
    With dbs
        On Error Resume Next
        strMDE = .Properties("MDE")         'If this is an MDE or ACCDE database, disable bypass key
        If Err = 0 And strMDE = "T" Then
            .Properties("AllowByPassKey") = 0
            If Err.Number = 3270 Then
                On Error GoTo err_proc
                Set prp = .CreateProperty("AllowBypassKey", dbBoolean, False)
                .Properties.Append prp
                .Properties.Refresh
            End If
        End If
    End With

exit_proc:
On Error Resume Next
    dbs.Close
    Set dbs = Nothing
    Exit Function

err_proc:
    MsgBox Err.Description
    Resume exit_proc

End Function
于 2019-01-12T04:51:20.337 回答