【问题标题】:Microsoft Access 2000 Switch Views at RuntimeMicrosoft Access 2000 在运行时切换视图
【发布时间】:2020-07-13 22:15:06
【问题描述】:

我正在以编程方式创建一个表单,该表单具有一个填充了选项列表的 ComboBox。在选择一个选项时,我希望在表单中填充各种控件。

目前我正在通过以下方式实现它:

FormName = Screen.ActiveForm.Name
DoCmd.Close acForm, FormName, acSaveYes
DoCmd.OpenForm FormName, acDesign
' Do Work to create controls
DoCmd.Close acForm, FormName, acSaveYes
DoCmd.OpenForm FormName, acNormal

问题是,我将在我的数据库中保存许多临时​​表单。所以在我看来,我有两个选择,

  1. 无需保存表单即可切换到设计视图
  2. 完成后可以删除表单

我试过了

DoCmd.DeleteObject acForm, FormName

在 OnClose 和 OnUnload 触发器中,但会导致“您无法在对象 'Form1' 打开时删除它”错误

有什么建议吗?

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    您的选项是否会导致表单上的控件数量有限?换句话说,是否有可能提前创建您需要的所有控件,而不是 Visible?然后,您需要做的就是显示和定位所需的内容,而无需从头开始重新创建所有内容。

    【讨论】:

    • 虽然这可能是一种解决方案,因为屏幕上有最大数量的控件。我认为这不是一个很好的解决方案。不过,我为 Access 开发的越多,我必须想出的解决方案就越不优雅。
    • @busk 不要忘记您可以在不切换到设计视图的情况下更改控件的属性,例如控件的控件源。我对用于报告的表格做了类似的事情。您可以从报告列表中进行选择,该表单将从控件列表中打开/关闭所选报告的参数所需的内容。此表单目前有 330 个控件。
    • 谢谢,我可能最终会选择这条路线,或者完全放弃这个想法。我正在将 MS Access 数据库转换为仅前端,然后制作 Web 界面。所以我想我必须先创建最后几个表单。
    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多