三行几乎相同的代码表现不同

时间:2013-05-03 13:42:39

标签: ms-access

我在Main_Form上有三个下拉框。我将选择的内容添加到表单Form_Applications上的三个字段中。

添加了以下三行:

Form_Applications.Classification = Form_Main_Form.Combo43.Value  
Form_Applications.Countryname_Cluster = Form_Main_Form.Combo56.Value  
Form_Applications.Application = Form_Main_Form.Combo64.Value

前两个完美无缺,但最后一个给出了错误代码438!

我可以进入即时窗口:

Form_Applications.Classification = "what ever"  
Form_Applications.Countryname_Cluster = "what ever"  

但不是第三行。然后,在输入后,会出现Object doesn't support this property or method错误。

我没想到这个错误,因为我和前两行完全一样。 你能帮忙还是需要更多信息?

3 个答案:

答案 0 :(得分:1)

Form_Applications.Application指的是应用程序本身。它不是字段,因此它不可分配(至少使用字符串)。

你真的没有提供足够的代码来得出任何真实的结论。但是看看你发布的内容,你肯定需要重新考虑你的方法。

答案 1 :(得分:1)

在VBA中Application是一个特殊字,不应用于处理字段。

FormName.Application将返回一个对象,该对象指向运行该表单的应用程序实例,而不是该表单中的对象。

Application对象,您可以执行各种其他操作,例如执行外部程序和其他应用程序级别的内容,例如保存文件/

将您的Application字段重命名为其他字段,可能是ApplicationCombo并更改您的代码行以匹配新名称。执行此操作后,代码应按预期执行。

答案 2 :(得分:0)

这肯定是肯定的,但你并没有这样做。看起来你正在读取一个ComboBox值(我假设Combo64与43和56相同)但我的猜测是你分配该值的是问题所在:

Form_Applications.Application =

申请不可转让。你打算在那里使用另一个领域吗?