以下是设置:作为我正在开发的多重击球笼调度程序的一部分,数据字典(dReservData)加载了所选日期的所有预约的数据。 dReservData中有16个字段。当用户选择特定预留时,表单上的控件将加载来自该预留的数据字典中的适当字段。 (为了简洁起见,我只包括我认为是代码的相关部分。)“运行时错误'380':无法设置Value属性。无效的属性值。”当我尝试将值1(您可以从Debug语句的输出中看到)分配给组合框的值属性(combo_ReservationsInstructor)时发生错误。组合框有2列,预先填充了N x 2阵列的教师ID和名称。我试图使用教师ID(在这种情况下,ID为'1')分配到组合框的value属性,作为以编程方式选择组合中的项目的方法。
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
答案 0 :(得分:1)
使用.Value
属性分配组合框的选定项目并非在所有情况下都能正常工作。
请尝试使用.ListIndex
属性。
在您的示例中,您收到错误的行将如下所示:
.combo_ReservationsInstructor.ListIndex = dReservData(ResInstructor)(iStepRes) -1
注意:组合框的ListIndex
开始计数为0 ...这就是行尾-1
的原因。
此解决方案假设教师ID以1开头并且继续无间隙