DLOOKUP函数中的类型不匹配错误

时间:2015-06-16 09:35:46

标签: excel vba

我在下面的代码中遇到类型不匹配错误,其中unit,primepro和subpro数据类型被给出为' TEXT'

  Private Sub Status_AfterUpdate()
If (Me.Status.Value = "COMPLETED") Then
Me.Combo35.Value = DLookup("Unit", "Units", "PrimePro='" & Me.Combo33.Value & "' And "SubPro='" & Me.Subact.Value & "'")

End If
End Sub

请帮忙。

2 个答案:

答案 0 :(得分:0)

DLOOKUP不是Excel;它是Access。 WHERE子句应该是:

"PrimePro='" & Me.Combo33.Value & "' And SubPro='" & Me.Subact.Value & "'"

SubPro=之前的引用太多了。)

答案 1 :(得分:0)

尝试此代码,您需要连接String值。它们需要用单引号括起来。我也删除了.Value,因为这变得多余了。

最后一个建议是将部分添加到 AfterUpdate 事件中。当值为Complete时,您需要一些东西,但是当Not Completed时会发生什么?价值仍然有效吗?

Private Sub Status_AfterUpdate()
    If Me.Status = "COMPLETED" Then
        Me.Combo35 = DLookup("Unit", "Units", "PrimePro = '" & Me.Combo33 & "' And SubPro = '" & Me.Subact & "'")
    'Else
        'Should do something, or the value will be irrelevant to the Status.
    End If
End Sub