IIF(Подача='Подача','Прием','Подача') AS [Подача_соп], IIF(Результат='Победа','Поражение','Победа') AS [Результат_соп]
после чего начал глючит ексель. Например меняю в вба Прием на Подача - на листе по прежнему остется прием. Хочу пошагово выполнить процедуру - должно выполнятся условие Else - курсор выделяет Else желтым, потом перепрыгивает на End If не выполняя условие.
Как видно на скриншоте - в окне переменных тоже отображаются не переменные процедуры, а какая то непонятная штука... При этом запрос выполняется с прежней строкой запроса. После нескольких таких манипуляций ексель вырубылся. Неужели причина в IIF?
Код
Sql_S = "SELECT Результат, Счет, SUM(IIF(Игрок='" & ig1 & "' AND Подача='Подача', SUMA)) AS [" & ig1 & "], SUM(IIF(Игрок='" & ig2 & "' AND Подача='Прием', SUMA)) AS [" & ig2 & "] FROM [счет$] WHERE Результат <> '' GROUP BY Результат, Счет "
Else
Sql_S = "SELECT IIF(Подача='Подача','Прием','Подача') AS [Подача_соп], IIF(Результат='Победа','Поражение','Победа') AS [Результат_соп], Подача, Результат, Счет, SUM(IIF(Игрок='" & ig2 & "', SUMA)) AS [" & ig2 & "] FROM [счет$] WHERE Результат <> '' GROUP BY Подача, Результат, Счет "
End If
там видимо какой то глюк был. открыл файл наново - уже в другом месте ошибка. во всем по ходу виновата строка
Код
On Error GoTo erh
Правильно ли я понимаю - если эта строка стоит в процедуре, а ошибка возникает в функции, вызываемой из процедуры - то этот обработчик действует и на функцию?