【问题标题】:MS Access: Disabling Navigation ButtonsMS Access:禁用导航按钮
【发布时间】:2015-02-23 09:49:06
【问题描述】:

我必须为一个下班项目创建一个数据库,每个人都决定使用 access,因为它已经安装在每台机器上。现在我是新的访问和新的数据库,所以这有点困难。我仍然到了那里,并设法制作了所有表格,建立了它们之间的关系并基本上创建了所有表格,但似乎已经落到了最后一道障碍。

我们有很多不同的站点,每个站点都有很多不同的房间。我正在努力解决的是房间的形式。这是从站点表单加载的。因此站点 A 会弹出一个包含站点 A 中所有房间的表单。该表单可以以只读、修改或新记录模式加载。

问题在于底部的导航按钮。如果您使用导航按钮单击新记录,则 access 会创建一个新记录,但它会丢失对先前站点的 FK 引用。我通过将表单上的 FK 设置为组合框对此进行了“某种”修复,因此可以对其进行更正,但是有 40 个站点,因此它不是很优雅,也不是任何人所期望的行为。

为了解决这个问题,我决定尝试构建我自己的访问导航控件版本,最终(在 stackoverflow 上以前的问题的帮助下)我成功了,在表单的底部你可以去到第一条记录、上一条记录、下一条记录、最后一条记录,添加一条新记录(保留 FK 引用),甚至在记录集中搜索已加载的记录。

但是,当我关闭导航控件时,所有这些都变得毫无用处。一旦我出于某种原因将其设置为关闭,访问只会加载记录集中的第一条记录。因此,如果站点 A 有 10 个房间,您只能看到房间 1,并且我制作的控件(与导航控件完美配合)停止工作,此外,我设置的文本框模仿“1 of 10”记录编号指示器更改为'1 of 1' 清楚地表明没有其他记录是可访问的。

这真的很令人沮丧,因为这意味着我只能通过打开 Access 来使用我的自定义导航控件。我不希望打开访问权限,因为每次创建新记录时都会出现问题。

所以,经过这么长的介绍,我的问题是:为什么访问只加载第一条记录并关闭导航控件,有没有办法阻止这种情况发生,如果没有,我可以禁用新记录位导航控制?

这里的任何帮助将不胜感激。我确信这是一件非常简单的事情,但是谷歌搜索没有任何结果,实际上从我读过的内容来看,我什至不确定禁用导航控件通常会这样做,这使得整个事情变得更加令人沮丧,因为这实际上是唯一的形式我不希望他们。

谢谢,

院长

【问题讨论】:

    标签: forms vba database-design ms-access-2010 ms-access-2013


    【解决方案1】:

    如果您添加自己的导航控件的唯一原因是无法填充房间表单中的 FK,我会保留访问导航控件并在房间表单的 Form_BeforeInsert() 触发器中设置 FK像这样:

    Private Sub Form_BeforeInsert(Cancel As Integer)
        Me!FK = forms!Sites!PK
    End Sub
    

    如果您想保留自己的导航控件,查看您的代码以回答您的问题会很有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      • 2023-04-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      相关资源
      最近更新 更多