好吧,我显然做错了什么,但无法弄清楚它是什么,这应该很简单。
我在表单上有一个按钮,用于打开另一个表单,并使用第一个表单中的值填充第二个表单中的文本框。
这是我的代码:
Private Sub test_Click()
DoCmd.OpenForm "subfrm_EA_COMMENT_ADD"
Forms!subfrm_EA_COMMENT_ADD.txtUWI = Me.txtUWI
End Sub
这很好用,但是我希望在对话框窗口中打开表单,所以我将脚本修改为:
Private Sub test_Click()
DoCmd.OpenForm "subfrm_EA_COMMENT_ADD", acNormal, , , acFormAdd, acDialog
Forms!subfrm_EA_COMMENT_ADD.txtUWI = Me.txtUWI
End Sub
现在我收到运行时错误2450.
我一直在搜索这个错误,但找不到任何有用的答案。
有人能指出我正确的方向,我缺少什么吗?
谢谢!
答案 0 :(得分:0)
acDialog参数导致第一个表单的代码执行暂停,直到第二个表单关闭。因此,要么删除参数,要么以第二种形式放置代码以填充自己的记录。
使用OpenArgs参数传递值:
Private Sub test_Click()
DoCmd.OpenForm "subfrm_EA_COMMENT_ADD", acNormal, , , acFormAdd, acDialog, Me.txtUWI
End Sub
要读取OpenArgs属性,可以在Current事件中使用第二种形式的代码:
If Me.NewRecord Then Me.txtUWI = Me.OpenArgs
答案 1 :(得分:0)
我使用临时变量找到了解决此问题的方法。我在“添加注释”按钮的开头创建了一个临时变量,然后将“注释”对话框窗口中的未绑定文本框设置为临时变量的值。这就像一个魅力,我现在可以在对话框中打开我的窗户,而不是正常。
我只是想让其他人知道,以防他们遇到这个问题。