如何使用vba从mdb中提取过滤表?

时间:2013-07-20 08:25:38

标签: vba ms-access

我正在尝试将VBA连接到MDB。当我输入以下代码时,包括ALL或特定年份的所有drpdwnYear.Value始终会得到类似的结果。我不明白为什么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

1 个答案:

答案 0 :(得分:1)

删除外部

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

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