这是你自己的设计问题,出现了死循环,下面的代码不应该出现在DataColchanged事件中,不仅效率极低,也容易造成死循环。
If Forms("添加计划窗口").Opened Then '窗口是否打开
e.DataRow("培训资金")=Forms("添加计划窗口").controls("培训资金").text '如果窗口已经打开,当前行 姓名列的值 来源于添加计划窗口中姓名控件的文本内容
e.DataRow("培训机构")=Forms("添加计划窗口").controls("培训机构").text
e.DataRow("备注")=Forms("添加计划窗口").controls("备注").text
e.DataRow("预期效果")=Forms("添加计划窗口").controls("预期效果").text
e.DataRow("培训内容")=Forms("添加计划窗口").controls("培训内容").text
e.DataRow("培训方式")=Forms("添加计划窗口").controls("培训方式").text
e.DataRow("培训负责人")=Forms("添加计划窗口").controls("培训负责人").text
e.DataRow("培训结束时间")=Forms("添加计划窗口").controls("结束时间").text
e.DataRow("培训地点")=Forms("添加计划窗口").controls("培训地点").text
e.DataRow("培训开始时间")=Forms("添加计划窗口").controls("开始时间").text
End If
从Datacolchanged事件中删除此段代码,然后将添加计划窗口的添加按钮的代码改为:
Dim r As Row = Tables("员工培训计划").AddNew()
r("培训资金")=e.Form.controls("培训资金").text '如果窗口已经打开,当前行 姓名列的值 来源于添加计划窗口中姓名控件的文本内容
r("培训机构")=e.Form.controls("培训机构").text
r("备注")=e.Form.controls("备注").text
r("预期效果")=e.Form.controls("预期效果").text
r("培训内容")=e.Form.controls("培训内容").text
r("培训方式")=e.Form.controls("培训方式").text
r("培训负责人")=e.Form.controls("培训负责人").text
r("培训结束时间")=e.Form.controls("结束时间").text
r("培训地点")=e.Form.controls("培训地点").text
r("培训开始时间")=e.Form.controls("开始时间").text
你已经入门,但是代码很乱,不合常理,有必须再看看帮助。
[此贴子已经被作者于2010-9-6 10:56:47编辑过]