我有一个报告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>
”
这使我感到困惑,因为我仅向表单添加了一些元素,从而导致了这种情况。如上所述,我试图回滚所做的更改,但错误仍然存在。
我希望将这些值从报告写入表格。它没有问题,我找不到问题。
编辑:我尝试执行项目中拥有的所有其他代码,并且一切正常。
答案 0 :(得分:1)
我通过创建新表单并将元素从旧的frmVersiondetails
复制到新的frmVersiondetailsfix
来解决了问题,并将报表中的参数更改为调用了新表单而不是旧表单。有时候,Access对我来说是个谜。.
答案 1 :(得分:0)
尝试使用通用语法:
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