|
|
|
РасширенныйCase...
|
|||
|---|---|---|---|
|
#18+
Возник вопрос. Можно ли найти замену такой ситуации: есть несколько вложенных If 'ов, причем каждый проверяет значения нескольких полей. Что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. С помощью Case можно было бы это реализовать в таком виде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. А возможно ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 17:16 |
|
||
|
РасширенныйCase...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 17:37 |
|
||
|
РасширенныйCase...
|
|||
|---|---|---|---|
|
#18+
2Владимир Саныч: Красивое решение! Но... А если нужно проверять не числовые значения, а, к примеру, (IsNull(Dmax(бла-бла-бла1))=True) and (IsNull(Dmax(бла-бла-бла2)=False) and (IsNull(Dmax(бла-бла-бла3)=False)? Как в этом случае быть? Неужто придется выстраивать огромную иерархию ифов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 17:43 |
|
||
|
РасширенныйCase...
|
|||
|---|---|---|---|
|
#18+
Если значения логические (типа IsNull и т.п.), то их можно преобразовать к нулям и единицам, сцепить в одну строчку и по ее значениям кейситься. Function BooToMoo(b As Boolean) As String BooToMoo = IIf(b, "1", "0") End Function Select Case BooToMoo(IsNull(f)) & BooToMoo(g=5) Case "11" Case "00" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 17:50 |
|
||
|
РасширенныйCase...
|
|||
|---|---|---|---|
|
#18+
Саныч, спасибо за мыслЮ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 17:54 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1680436]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
8ms |
get forum data: |
4ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 426ms |

| 0 / 0 |
