Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.116.40.47] |
|
Сообщ.
#1
,
|
|
|
Не увлекайтесь функциями IIF, Swich, Choose При всей своей внешней привлекательности эти функции работают весьма медленно. Например, в данном случае IIF(x = y,y = 2*x,y = Ln(x)/cos(y)) будут вычислены оба выражения, вне зависимости от результата проверки выражения "x = y" В VBA нет оптимизации логических выражений при компиляции, так что предпочтительней использовать if… then… end if или Select Case…End Select Приятное исключение: в отчетах и запросах ACCESS эти функции аналогичны if… then… end if Применяйте логическое присваивание в одной строке Например, данный код If X = 0 then Y = true Else Y = false End if Можно записать так Y = (x = 0) Переключение между логическими выражениями Если требуется поменять значение логической переменной на противоположное, можно сделать так: If X=true then X = false Else X = true End if А можно так: X = not X Помещайте код обработки наиболее вероятного случая в начало Select Case Использованы материалы: "From Access 2002 Desktop Developer's Handbook" Litwin, Getz, and Gunderloy. (Sybex, 2001) |