Это ограничение автофильтров. Вы не можете использовать более двух фильтров в пользовательском интерфейсе.
Вместо этого вы можете использовать фильтр «Дополнительно», или вы можете создать массив значений, соответствующих вашим критериям, и фильтровать с помощью этого:
Sub MultiContainsAutofilter()
Dim vData
Dim shData As Worksheet
Dim d As Object
Dim i As Long
Set shData = ActiveSheet
vData = shData.UsedRange.Columns(2)
Set d = CreateObject("Scripting.Dictionary")
For i = LBound(vData, 1) To UBound(vData, 1)
If UCase$(vData(i, 1)) Like "*A*" Or UCase$(vData(i, 1)) Like "*B*" Or UCase$(vData(i, 1)) Like "*C*" Then
d(vData(i, 1)) = Empty
End If
Next i
If d.Count > 0 Then shData.UsedRange.AutoFilter Field:=2, Criteria1:=d.keys, Operator:=xlFilterValues
End Sub
Слои API доступа к данным как ODBC, OLE DB и SqlClient называют (внутреннюю) хранимую процедуру sp_reset_connection при многократном использовании соединения от пула соединения. Это делает это для сброса состояния соединения, прежде чем это будет снова использовано.
, кажется, нет официальной документации относительно того, какие вещи сбрасываются, но здесь являются неофициальным списком.
sp_reset_connection сбрасывает следующие аспекты соединения:
- Это сбрасывает все состояния ошибки и числа (как @@ ошибка)
- , Это останавливает все EC (контексты выполнения), которые являются дочерними потоками родительского EC, выполняющего параллельный запрос
- , Это будет ожидать любых выдающихся операций ввода-вывода, который является выдающийся
- , Это освободит любые сохраненные буферы на сервере соединением
- , Это разблокирует любые буферные ресурсы, которые используются соединением
- , Это освободит всю память, выделенную принадлежавший соединению
- , Это очистит любые рабочие или временные таблицы, которые составлены соединением
- , Это уничтожит все глобальные курсоры, принадлежавшие соединению
- , Это закроется, любой открывает дескрипторы SQL-XML, которые являются, открывают
- It удалит, любой открывает связанные с SQL-XML рабочие таблицы
- , Это закроет все системные таблицы
- , Это закроет все пользовательские таблицы
- , Это отбросит все временные объекты
- , Это прервет открытые транзакции
- , Это будет дезертировать от распределенной транзакции, когда включено в список
- , Это постепенно уменьшит подсчет ссылок для пользователей в текущей базе данных; которые выпускают общую блокировку базы данных
- , Она освободит полученные блокировки
- , Она будет выпуски любые дескрипторы, которые, возможно, были получены
- , Она сбросит все опции НАБОРА к значениям по умолчанию
- , Она сбросит @@ rowcount значение
- , Она сбросит @@ значение идентификационных данных
- , Она сбросит любые опции трассировки сеансового уровня с помощью dbcc traceon ()
, sp_reset_connection НЕ сбросит:
- Контекст защиты, который является, почему организация пула подключений соответствует соединениям на основе точной строки подключения
- при вводе роли приложения с помощью sp_setapprole так как роли приложения не могут вернуться
- уровень изоляции транзакции
От это сообщение форума :
sp_reset_connection хранимая процедура используется для сброса соединения так, чтобы, когда она используется в пуле, ничто от предыдущей сессии не было сохранено, который определенный для соединения.