我有3个表(Main,ED和OP)的关系 ED的主要是1到多 OP的主要是1到很多
为此我创建了3个表单(frmM,frmE和frmO)
frmM有2个子表格frmE和frmO(frmE和frmO都在frmM数据列表中)
我想要的是:一旦frmE中文本框txtE1的值发生变化,frmO中的文本框txtO1将被禁用
我在frmE
中使用了这段代码FrmO.txtO1.Enabled = False
虽然这不会产生任何错误,但是在调试时我可以看到Watch窗口中文本框的值发生了变化,但是表单中的文本框实际上没有发生任何错误
我在StackOverFlow中查看了很多问题并用Google搜索了3天以上
Requery subform from another subform, problems
http://access.mvps.org/access/forms/frm0031.htm
http://www.dbforums.com/showthread.php?900897-Set-Value-In-A-SubForm
我试过
Forms("frmM")("frmO").Controls("txtO1").Enabled = False
Me.Parent!txtO1.Enabled = False
Forms.frmM.frmO.Form.txtO1.Enabled = False
所有这些都不起作用。
任何人都可以帮助我吗?
答案 0 :(得分:1)
尝试
Me.Parent!frmO_Container.Form!txtO1.Enabled = False
其中frmO_Container
是frmM上包含frmO本身的子窗体控件的名称
编辑:如果您还没有,请将此代码放入txt01
在引用子表单时,区分父表单上的子表单控件和子表单本身很重要。