Vba 更改后访问级联组合框清除

Vba 更改后访问级联组合框清除,vba,ms-access,combobox,Vba,Ms Access,Combobox,我有一些代码可以在Access中创建一个级联组合框,它可以正常工作;组合框过滤到我需要的列表。但是,当我更改组合框时,它会自动清除,因此我无法使用它 Private Sub cobVehType_Change() If CycleType(DLookup("VehicleType", "tblVehicleType", "VehicleTypeID =" & Me.cobVehType)) = "Miles" Then Me.cobMainType.RowSou

我有一些代码可以在Access中创建一个级联组合框,它可以正常工作;组合框过滤到我需要的列表。但是,当我更改组合框时,它会自动清除,因此我无法使用它

Private Sub cobVehType_Change()

    If CycleType(DLookup("VehicleType", "tblVehicleType", "VehicleTypeID =" & Me.cobVehType)) = "Miles" Then
        Me.cobMainType.RowSource = "SELECT tblMainType.MainCycle FROM tblMainType WHERE (tblMainType.MainType)='Miles' And (tblMainType.SimilarTo)=False"
    Else
        Me.cobMainType.RowSource = "SELECT tblMainType.MainCycle FROM tblMainType WHERE (tblMainType.MainType)='Hours' And (tblMainType.SimilarTo)=False"
    End If

End Sub

我还应该检查什么?

您的意思是组合框列表没有任何项目?尝试刷新组合框:

Me.cobMainType.Requery


不需要DLookup,因为cobVehType应具有提供车型所需的所有信息。

您是在数据表中还是在连续表格中使用此信息?“清除”是指记录不显示值吗?在combobox保存记录ID但显示相关别名值(查找)的表单视图中,应出现这种行为,因为在过滤combobox列表时,这些值不可显示。@June7,它既不是数据集也不是连续表单。我的意思是组合框会自动清除-因此它不会让我选择项目。不,它有项目。当我选择其中一个项目时,它会清除该选项,我可以再次选择它,它会无限期地再次清除。需要查看表单设计、组合框属性、数据库结构。如果你想提供我推荐的Box.com文件共享网站。