获取“运行时错误”380:无法设置值属性。 无效的属性值。“错误时,赋值给combobox”值“属性

这里的设置:作为我正在开发的多重打击笼计划程序的一部分,数据字典(dReservData)加载了所选date的所有预订的数据。 有16个字段被加载到dReservData中。 当用户select特定预留时,表单上的控件将从数据字典中为该预留加载适当的字段。 (为了简洁起见,我只包含了我认为是代码的相关部分)。“运行时错误”380:无法设置Value属性。无效的属性值。 当我尝试将值1(您可以从debugging语句的输出中看到)分配给combobox(combo_ReservationsInstructor)的value属性时发生错误。 combobox有2列,并预先填充了一个N×2的教师ID和名称数组。 我试图使用一个教师ID(在这种情况下,ID'1')分配到combobox的值属性作为一种手段,以编程方式select组合中的项目。

With form_APScheduler .tb_ReservationsBeginTime.Value = dReservData(BegTime)(iStepRes) .tb_ReservationsEndTime.Value = dReservData(EndTime)(iStepRes) .tb_ReservationsNote.Value = dReservData(ResNote)(iStepRes) If dReservData(RentType)(iStepRes) = "Lesson" Or dReservData(RentType)(iStepRes) = "CageRental" Then If dReservData(RentType)(iStepRes) = "Lesson" Then .combo_ReservationsType.Value = "Lesson" Debug.Print "dReservData(ResInstructor)(iStepRes) = " & dReservData(ResInstructor)(iStepRes) 'Debug output: dReservData(ResInstructor)(iStepRes) = 1 .combo_ReservationsInstructor.Value = dReservData(ResInstructor)(iStepRes) '***ERROR OCCURS HERE ElseIf dReservData(RentType)(iStepRes) = "CageRental" Then .combo_ReservationsType.Value = "CageRental" End If 

指定具有.Value属性的combobox的选定项目在所有情况下都不起作用。 尝试使用.ListIndex属性。

在你的例子中,你得到错误的行看起来像这样:

 .combo_ReservationsInstructor.ListIndex = dReservData(ResInstructor)(iStepRes) -1 

注意:一个combobox的ListIndex开始以0 …开始计数,这就是在行尾有-1的原因。

此解决scheme假定教师ID从1开始并且没有间隙地继续