首页 > 解决方案 > 访问 VBA 抛出“运行时错误 7 - 内存不足”

问题描述

我有一个报告repVersions和一个表格frmVersiondetails(表格有很多文本字段)。我在报告上创建了一个带有"on click"事件的字段,因此它会打开表单以获取详细信息并将一些值加载到该表单中。直到现在,这就像一个魅力。我做了一些更改,现在我说“运行时错误 7”。

试图恢复我所做的最后更改并没有帮助(或者我可能错过了我更改的关键细节)。

由于我打开的表单很大并且在其他元素上充满了文本框(大约 600-700),我认为这个问题可能是由于打开表单上的元素数量造成的,所以我关闭了数据库,复制了它并删除了表单上的一半元素并更正了代码。我仍然收到此错误,所以我认为这可能不是来自表单上的元素数量。

接下来,我检查了代码中发生错误时的值。以下是on click报告中事件的代码片段:

Private Sub Versionnumber_Click()
    DoCmd.OpenForm "frmVersiondetails"
    Form_frmVersiondetails.txtStatus.Value = Me.Statusname.Value
    Form_frmVersiondetails.txtPlatform.Value = Me.Platformname.Value
    Form_frmVersiondetails.txtVersion.Value = Me.Versionnumber.Value
    Form_frmVersiondetails.txtProjectno.Value = Me.Projektnumber.Value
    Form_frmVersiondetails.txtProjectname.Value = Me.Projectname.Value
End Sub

当我在运行时查看值时,我可以看到报告 ( me.name.value) 中的所有值都正确显示,但是从我的代码片段的第三行开始,我在其中分配“状态”值,将鼠标悬停在左侧代码的一侧显示以下内容:

" <Object variable or With block variable not set>"

这让我很困惑,因为我只在表单中添加了一些元素,导致了这种情况。如上所述,我试图回滚我所做的更改,但错误仍然存​​在。

我期望将值从报告写入表单。它工作没有问题,我找不到问题。

编辑:我尝试执行项目中的所有其他代码,一切都按预期工作。

标签: vbams-access

解决方案


我通过创建一个新表单并将元素从旧表单复制frmVersiondetails到新frmVersiondetailsfix表单并将报告中的参数更改为调用新表单而不是旧表单来解决问题。有时,访问对我来说是个谜。


推荐阅读