【问题标题】:Access VBA throwing "Runtime Error 7 - Out of Memory"访问 VBA 抛出“运行时错误 7 - 内存不足”
【发布时间】:2020-07-15 10:27:38
【问题描述】:

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

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

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

接下来,我检查了代码中出现错误时的值。 以下是来自报告中on click 事件的 Codesn-p:

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) 中的所有值都正确显示,但是从我的 sn-p 的第三行开始,我分配了“状态”值,将鼠标悬停在代码左侧显示如下:

<Object variable or With block variable not set>

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

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

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

【问题讨论】:

  • 不知道是否有帮助,但请尝试完整的Decompile

标签: vba ms-access


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试这个,使用通用语法:

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

    【讨论】:

    • 我复制了您的代码,它照常打开表单,但现在我收到“运行时错误'-2146500594 (800f000e)':对象'表单'的方法'项目'失败”跨度>
    • 我通过创建一个新表单并将元素从旧的 Versiondetails 复制到新的 Versiondetails 表单来解决问题,并在报告中更改了调用新表单而不是旧表单的参数。有时,Access 对我来说是个谜。
    猜你喜欢
    • 2016-07-10
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2010-09-22
    相关资源
    最近更新 更多