我在表单上有cmbCountry
作为未绑定下拉列表。下拉菜单按预期工作。我在同一表格上设置了一个名为txtCM_ID
的文本框,我想在其中显示下拉菜单中选择的ID。
当我输入文本框的记录源为=Forms![frm_ClientModel]!cmbCountry.Column(0)
时,访问权限会自动将其更改为=[Forms]![frm_ClientModel]![cmbCountry].[column](0)
当我在“ VBE立即”窗口中对其进行测试时,我的版本将返回正确的信息。在即时窗口中运行时,访问产生的代码将返回以下内容:
运行时错误450:参数数量错误或属性无效 作业
令人沮丧的是,无论我在哪里或如何在控制源中输入代码,访问都会将其更改为它的版本。打开表单后,txtCM_ID
只是空白。
我还尝试通过更改对以下内容的引用来解决此问题:Forms("frm_ClientModel").Controls("cmbCountry").column(0)
尽管此版本(在VBE中也经过测试并且可以正常运行)不会产生错误,但在文本框中也不会返回任何内容。
我错过了什么/做错了什么/被忽视了?
答案 0 :(得分:1)
仅使用
StackOverflowError
要从其他控件访问cmbCountry的值。
答案 1 :(得分:0)
我无法具体确定发生这种情况的原因,但最终通过使用下拉菜单的OnClick事件并通过以下方式通过VBA将所需信息写入文本框来解决了这个问题:
Private Sub cmbCountry_AfterUpdate()
Me.txt_CMID = Forms("frm_ClientModel").Controls("cmbCountry").Column(0)
End Sub
如果其他人找到了为什么表单控件无法正常工作的答案,我将很高兴收到您的来信。