我在选项卡式控件中使用多个子表单在MS Access 2010中构建了一个表单。某些子表单包含一个TextField,其中OnClick宏打开一个PopUp表单。单击"确定" -Button时,它使用someFn()计算值,从主窗体获取当前Tab并将值写入相应SubForm中的TextField。
这是PopUp表格中" OK" -Button的代码:
Private Sub btn_ok_Click()
Dim page As Integer
page = Forms![00_data].Form.tabbed.Value
Dim Val As Integer
Val = someFn 'returns some Value between -1 and 100
DoCmd.Close acForm, "10_my_popup_form", acSaveNo
If Val >= 0 Then '0-100 are valid
Select Case page
Case 0
Forms![00_main]![01_subform].Form.txt_field.Value = Val
Case 3
Forms![00_main]![04_subform].Form.txt_field.Value = Val 'Error 459
End Select
ElseIf Val = -1 Then '-1 is an error code, delete the Value
Select Case page
Case 0
Forms![00_main]![01_subform].Form.txt_field.Value = Null
Case 3
Forms![00_main]![04_subform].Form.txt_field.Value = Null 'Error 459
End Select
End If
End Sub
如果单击01_subform(Tab 0)上的txt_field,Sub运行完全正常但为什么它会在04_subform(Tab 3)上抛出错误?
编辑:我发现这篇提到错误的微软文章,但解决问题的方法都无法解决问题:http://support.microsoft.com/kb/2748410
由于我在2014/01/26创建了01_subform,并且在创建04_subform之前在2014/01/27安装了更新,这可能就是原因,但我该如何解决?
答案 0 :(得分:1)
在重新编译数据库之后,抛出了一些其他错误我创建了一个新表单,将所有控件和VBA代码复制到其中,重命名子表单并交换它们,现在一切正常。