Access 窗体中包含的 ActiveX 控件不显示设计时许可证不可用时


本文应用到 Microsoft Access 数据库 (.mdb) 文件或 Microsoft Access 数据库 (.accdb) 文件。

初级用户︰ 需要用户界面的单用户计算机上的知识。

症状


在 Access 数据库中,窗体可能具有授权的 MFC ActiveX 控件。此外,表单可能还有另一个控件如到链接表中的字段绑定的文本框。如果您打开此窗体在窗体视图中,MFC ActiveX 控件可能不会出现。对于 MFC ActiveX 控件的设计时许可证选项不可用表单所在的同一台计算机上时,将发生此问题。

注意:如果您添加到您的窗体的 MFC ActiveX 控件和 MFC ActiveX 控件的设计时许可证授权。除非在设计视图中打开窗体,则不需要使用设计时许可证表单所在的同一台计算机上的可用性。

原因


当访问尝试进行名称更改为包含该窗体的数据库启用后执行名称自动更正设计视图中打开窗体时,将发生此问题。因为设计时许可证不可用的计算机上,则访问注销 MFC ActiveX 控件。因此,MFC ActiveX 控件不显示。

解决方法


若要变通解决此问题,请禁用跟踪名称自动更正信息的数据库或之后注册的 MFC ActiveX 控件的计算机上的数据库禁用执行名称自动更正。若要执行此操作,请执行以下步骤:
  1. 启动访问。
  2. 打开的数据库,包含与 MFC ActiveX 控件的窗体。
  3. 工具菜单上,单击
    选项

    注意:在 Access 2007 中,单击Microsoft Office 按钮,,然后单击当前数据库
  4. 选项对话框中,单击
    常规选项卡,然后单击以清除执行名称自动更正复选框。

    备注:
    • 在 Access 2007 中,单击以清除在名称自动更正选项下的执行名称自动更正复选框。
    • 您也可以单击以清除跟踪名称自动更正信息复选框的数据库。当您单击以清除跟踪名称自动更正信息复选框,
      执行名称自动更正选项将不可用。
  5. 关闭数据库。
  6. 退出 Access。
  7. 移到命令提示符,然后运行regsvr32

    当您运行此命令时,此注册 MFC ActiveX 控件 (.ocx 文件)。
  8. 在窗体视图中打开窗体。

    MFC ActiveX 控件出现在窗体中。

详细信息


当启用跟踪名称自动更正信息的数据库时,Access 将创建数据库中每个对象的名称映射。名称映射用于跟踪名称更改。也可执行名称自动更正选项,如果访问验证,所需的名称的更改应用于该对象或其内容每次打开对象时。如果发生更改,自动进行名称更改。

在移动到另一台计算机,以及 MFC ActiveX 控件文件 (.ocx),该窗体包含的数据库时出现问题,然后重新链接的表所引用的窗体中控件 (如文本框)。当重新链接表时,这将为窗体激活跟踪名称自动更正信息。当在窗体视图中打开窗体时,Access 将尝试通过在设计视图中打开窗体中自动执行更正名称。因为 MFC ActiveX 控件的设计时许可证不存在,此操作将失败。因此,MFC ActiveX 控件未出现在窗体上。

如果窗体不包含任何引用链接表,就不会发生此问题。