参考下拉列表的文本框不返回任何内容

问题描述 投票:1回答:2

我在表单上有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中也经过测试和确定)不会产生错误,但它也没有在文本框中返回任何内容。

我错过了什么/做错/俯视?

ms-access ms-access-2010
2个回答
1
投票

使用公正

=[cmbCountry]

从其他控件访问cmbCountry的值。


0
投票

我无法明确确定发生这种情况的原因,但最终通过使用Dropdown的OnClick事件并通过VBA将所需信息写入文本框来解决问题:

Private Sub cmbCountry_AfterUpdate()
    Me.txt_CMID = Forms("frm_ClientModel").Controls("cmbCountry").Column(0)
End Sub

如果其他人找到了关于为什么表单控件无法正常工作的答案,我将有兴趣收到您的回复。

© www.soinside.com 2019 - 2024. All rights reserved.