0

我正在尝试将 VBA 连接到 MDB。当我输入下面的代码时,所有drpdwnYear.Value包括 ALL 或特定年份的代码总是得到相似的结果。我不明白为什么Else不能过滤drpdwnYear.Value?有人可以帮我弄这个吗?

顺便说一句,查询提取包含SELECT [Last Name], [First Name], [Middle Name] FROM [Clients].

strDBpath = GetFileValue(SetDatabasePath)

If strExtractType = "Stretch" Then
    strQuery = GetFileValue("C:\Clients\resources\QueryExtract.txt")
    If Sheets("Clients").drpdwnYear.Value = "ALL" Then
        If Sheets("Clients").drpdwnYear.Value = "ALL" Then
            strQuery = strQuery & " ORDER BY [Year]"
        Else
            strQuery = strQuery & " WHERE [Year] IN ('" & Sheets("Clients").drpdwnYear.Value & "')"
        End If
    End If
End If
4

1 回答 1

1

去掉外层

If Sheets("Clients").drpdwnYear.Value = "ALL" Then
    ...
End If

条款。它打破了你的逻辑。如果该值不是“ALL”,它将使代码跳过内部If ... End If块。

于 2013-07-20T09:12:53.623 回答