我正在尝试将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
答案 0 :(得分:1)
删除外部
If Sheets("Clients").drpdwnYear.Value = "ALL" Then
...
End If
子句。它打破了你的逻辑。如果该值不是“ALL”,则会使代码跳过内部If ... End If
块。