|
|
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Access' 97, mdb... Пишу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Переменные :VarX=8, VarY=Null Так вот... Access смотрит все условия и ничего не выполняя переходит на End Case... Хотя, по логике, должнен выполнить третье выражение... Это глюк или я ошибся в синтаксисе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:16 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Переходит на End Select. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:18 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
ты в debugere набери: ?8 <> Null и ты увидишь, что ответ будет не True, а Null и поэтому у тебя ниодно условие не выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:23 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Что это??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:23 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
че это вообще за херня??? кто так селекты пишет??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:24 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
в догонку (из help'a) Null is the result of an explicit assignment of Null to a variable or any operation between expressions that contain Null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:26 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
2 ЛП: Да не ругайся ты... Я пробовал и isnull(VarX)=False...таже самая ерунда. авторче это вообще за херня??? кто так селекты пишет??? А как надо правильно??? Мне нужно, если VarX=8 И VarY=Null, выполняется третье выражение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:38 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Select Case True Case isnull(VarX) And isnull(VarY) Case isnull(VarX) Prov = VarY + 1 Case isnull(Null) Prov = VarX + 1 Case Else Prov = VarX + VarY + 1 End Select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:41 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. у тебя в селекте в любой строчке результат равен Null есть фунция Nz: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:42 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Select Case VarX and VarY - это вообще полный абзац. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:43 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Prov = VarX + VarY + 1 будет равно Null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:43 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
cорри, проглючил ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:45 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
блин Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:47 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
Вот и я думаю: автор- это вообще полный абзац. Я поэтому и спрашивал как правильно... Мужики! Большое спасибо за науку!!! Буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:48 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
да и наверное выражение можно так записать, без всяких Select Case: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 15:49 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
2 Kelme: Да, так проще всего. Если только не стоит задача научиться пользоваться Select Case. 2 Daf: Ты хоть понимаешь, что такое And? Даже если не знал, как работает Select Case. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 16:04 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
авторТы хоть понимаешь, что такое And? Даже если не знал, как работает Select Case. Понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 16:19 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
плинн. оппять я все смешное проспал для автора: т.к ?Null AND 1 Null , то VarX and VarY даст NULL (на входе вашего селекта) т.е. получится Select Case Null и посмотрим, что происходит дальше в этом случае: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. (что, собсно, ожидалось ибо ?Null = Null Null (а не -1), и ?Null = Not Null Null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 16:20 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
T.e. в данном случае происходила операция логического И, а не выбор условия, как в запросе... Т.е. 0*1=0, а в моем случае null. Спасибо что объяснили! Всю жизнь живи и всю жизнь учись! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 16:31 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
автора не выбор условия, как в запросе... Дело не в том, что запрос или не запрос. Дело в том, что операндами операции And дожны быть значения логического типа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 17:57 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
авторДело не в том, что запрос или не запрос Саныч, дело в том числе и в том. (в некотором смысле): В отличии от селекта, WHERE (пере) вычисляется для каждой записи (т.е. с точки зрения бытовой логики - для каждого значения "переменных"), а селект, при попадании на себя, исчисляет значение выражения, и если в его теле переменные поменяют значения, перевычислять значения выражения не соберется :0). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 18:12 |
|
||
|
Select case...
|
|||
|---|---|---|---|
|
#18+
На всякий случай: select case 2 case 1: debug.print "one" case 2: debug print "two" case 2: debug.print "three" case 3: debug.print "four" case else: debug.print "five" end select вернет только two - т.е. басиковый select case отрабатывает только первый подходящий раздел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 18:13 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32464119&tid=1675675]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 453ms |

| 0 / 0 |
