【问题标题】:How would I programmatically show items hidden on startup?我将如何以编程方式显示启动时隐藏的项目?
【发布时间】:2020-10-13 03:36:24
【问题描述】:

我有一个 Access 数据库,它设置为只显示我的表单并隐藏功能区和表格资源管理器。
这工作正常,除了我。
我希望能够从快捷方式打开数据库,就像我按住 Shift 键绕过启动例程一样。

我检测到命令行参数。我关闭登录表单。

我需要打开什么才能回到功能齐全的 Access 版本而无需使用 shift 键?

这是我从禁用一切的人那里找到的几个候选人。我需要重新打开它们。但是,我看不出这在原版中是如何工作的,而且对我来说根本不起作用。

StartUpShowStatusBar = True  // Done
AllowShortcutMenus = True
AllowFullMenus = True
AllowBuiltInToolbars = True
AllowToolbarChanges = True
AllowSpecialKeys = True
UseAppIconForFrmRpt = True

【问题讨论】:

标签: ms-access


【解决方案1】:

您已经看到 my answer here 隐藏功能区和导航窗格。我在这里发布,通过单击按钮再次显示它们。下面是隐藏然后显示功能区和导航窗格的代码。

要隐藏的代码-

Private Sub Form_Load()
On Error GoTo HarunErrHandler

'******************* Hide Ribbon and Navigation Pane ***************************

    DoCmd.ShowToolbar "Ribbon", acToolbarNo
    Call DoCmd.NavigateTo("acNavigationCategoryObjectType")
    Call DoCmd.RunCommand(acCmdWindowHide)

'*******************************************************************************

Exit Sub
HarunErrHandler:
MessageBox = MsgBox("Error Number: " & Err.Number & vbCrLf & Err.Description, vbInformation, "Error")
End Sub

显示功能区和左窗格-

Private Sub cmdShow_Click()
On Error GoTo HarunErrHandler
    
'******************* Show Ribbon and Navigation Pane ***************************

    DoCmd.ShowToolbar "Ribbon", acToolbarYes
    Call DoCmd.SelectObject(acTable, , True)

'*******************************************************************************

Exit Sub
HarunErrHandler:
MessageBox = MsgBox("Error Number: " & Err.Number & vbCrLf & Err.Description, vbInformation, "Error")
End Sub

【讨论】:

  • 这给了我一个功能区和一个主菜单。但他们俩似乎都有缺陷。例如,他们只有“家”。 “创建”、“外部数据”和“数据库工具”仍然是 AWOL。
  • 我们还没有完成。 “所有访问对象”面板出现在左侧,但上下文菜单不起作用。右键单击,没有任何显示。有什么想法吗?
【解决方案2】:

根据 Harun 的回答,我能够构建这个,这似乎可以恢复一切。

Private Sub Form_Load()
On Error GoTo ErrHandler
    If CheckKeyFiles = True Then
        Me!txtUID = "workflow"
        Me!txtSID = GetSID("workflow")
    End If
    Me!txtVersionDate = "Version " & GetVersionDate()
    If Command = "develop" Then
        DoCmd.Close acForm, "Dialog_Login"
        DoCmd.SelectObject acTable, , True
        Application.SetOption "Show Status Bar", True
        CurrentDb.Properties("AllowFullMenus") = True
        CurrentDb.Properties("AllowBuiltInToolbars") = True
        CurrentDb.Properties("AllowToolbarChanges") = True
        CurrentDb.Properties("AllowSpecialKeys") = True
        DoCmd.ShowToolbar "Ribbon", acToolbarYes
    End If
Exit Sub
ErrHandler:
    Dim Response
    Response = MsgBox("Error Number: " & Err.Number & vbCrLf &     Err.Description, vbInformation, "Error")

End Sub

【讨论】:

  • 有没有办法让@harun24hr 得到他应得的荣誉,并且仍然将其标记为答案?
  • 这项努力最终失败了。除了导航窗格上的上下文菜单外,我能够取回所有内容。如果您无法右键单击并打开删除或更新查询而不运行它,则它是不可用的。
猜你喜欢
  • 2018-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
相关资源
最近更新 更多