Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 引用下拉列表的文本框不返回任何内容_Ms Access_Ms Access 2010 - Fatal编程技术网

Ms access 引用下拉列表的文本框不返回任何内容

Ms access 引用下拉列表的文本框不返回任何内容,ms-access,ms-access-2010,Ms Access,Ms Access 2010,我将cmbCountry作为未绑定的下拉列表显示在表单上。下拉列表按预期工作。我在同一表单上设置了一个名为txtCM\u ID的文本框,我想在其中显示下拉列表中选择的ID 当我将文本框的记录源输入为=Forms![frm_客户模型]!cmbCountry.Column(0)access会自动将其更改为读取=[Forms]![frm_客户模型]![CMB国家][列](0) 在VBE即时窗口中测试时,我的版本返回正确的信息。access生成的代码在立即窗口中运行时返回以下内容: 运行时错误450:参

我将
cmbCountry
作为未绑定的下拉列表显示在表单上。下拉列表按预期工作。我在同一表单上设置了一个名为
txtCM\u ID
的文本框,我想在其中显示下拉列表中选择的ID

当我将文本框的记录源输入为
=Forms![frm_客户模型]!cmbCountry.Column(0)
access会自动将其更改为读取
=[Forms]![frm_客户模型]![CMB国家][列](0)

在VBE即时窗口中测试时,我的版本返回正确的信息。access生成的代码在立即窗口中运行时返回以下内容:

运行时错误450:参数数目错误或属性无效 分配

令人沮丧的是,无论我在控制源代码中的何处或如何输入代码,access都会将代码更改为其版本。当表单打开时,
txtCM\u ID
只是保持空白

我还尝试通过更改对以下内容的引用来解决此问题:
表单(“frm\U ClientModel”)。控件(“cmbCountry”)。列(0)

虽然此版本(在VBE中也已测试并正常)不会产生错误,但在文本框中也不会返回任何内容

我遗漏了什么/做错了什么/忽略了什么?

仅使用

=[cmbCountry]

从其他控件访问CMBCorry的值。

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

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

如果其他人找到了表单控件无法正常工作的原因的答案,我很想听听您的意见。

txtCM_ID=me.controls(“cmbCountry”).value
Access将其更改为=[me]。[controls]([cmbCountry”)。[value]您是通过代码还是在表单属性中执行此操作的?如果在形式上做,最好去掉VBA标签,因为我是在形式上做的。我在VBE中进行测试,以验证它是否确实(应该)工作。我删除了VBA标记。我尝试了它,但它没有给我任何结果。保留为空。完全相同的设置在另一个窗体上完全有效。我的表单可能有问题?请仔细检查名称,尝试重命名源代码管理,它应该可以工作。我已经重命名了下拉列表,并尝试了它,但什么都没有。我删除并创建了一个新的文本框。同样的事情。现在,我将制作表单的一个副本,并逐一检查和删除表单中的其他控件。完成上述操作后,我现在将获得结果,但仅在删除主表单查询之后!