|
|
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Поддерживает ли Свитч 28 вариантов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 03:01:03 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Вернее даже что делать когда он этого не поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 03:04:20 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
функцию свою писать - даже если поддерживает ,столь громоздким выражением нереально пользоваться в запросах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 07:55:55 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Как минимум 50 вариантов он поддерживает. И мне кажется, что ограничения нет. Код: plaintext 1. 2. 3. 4. 5. (На строки я поделил для удобочитаемости.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2004, 17:35:33 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Я пишу на 28 позиций и получаю в ответете что-то вроде "слишко громоздкое выражение" , the query is to complicated. Такие вот пироги. Владимир Саныч подскажи плиз еще вот что. Какой синтаксис будет если в аргумент функиии мне нужно поставить сложное выражение. Скажем : SELECT cur_data.F0103 AS [Код группы], Right$("0000000" & cur_data.F0105, 7) AS [код], Switch( cur_data!F0103=04,'Бритвы и Эпиляторы', cur_data!F0103=07,'Машинки для стрижки', cur_data!F0103=08,'Фены', cur_data!F0103=09,'Вытяжки', cur_data!F0103=10,'Кондиционеры', cur_data!F0103=12,'Посудомоечные машины', cur_data!F0103=14,'Поверхности', cur_data!F0103=16,'Стиральные машины', cur_data!F0103=17,'Холодильники', cur_data!F0103=18,'Морозильные камеры', cur_data!F0103=19, (Выражение), ) AS Comment, cur_data.F0202 FROM cur_data WHERE (((cur_data.F0101)=x)) Где выражение это еще одна функция "SWITCH" Да вот еще что у меня Аксес 2003 есть 2002. И если верхний кусок расширить до 28 позиций то работать не будет, можешь попробовать. Shuhard писать свою функцию... эээ... Бивас слыш чувак, а что такое своя функция... ЭЭЭ... Я пока чайник даже представления не имею как писать что-то свое на ВБА. Буду признателен за совет с чего начать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 10:10:12 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
особенность switch: проверяет все условия, даже если то, которое нужно находится первым в списке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 10:45:51 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
ищ Сенкс ... Буду знать что к памяти Свитч относится прожорливо. Плиз объясни что делать то нужно ? Потому что я в отчетах утону такими темпами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 10:59:29 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Обычно никто не пытается делать такие свитчи. В данном случае, наверное, нужно просто создать справочную таблицу и сделать подстановку в cur_data. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 11:01:01 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Access_Abuser"слишко громоздкое выражение" , the query is to complicated. Query is too compex. Это значит, что запрос слишком сложный. Свитч не виноват, он просто стал последней каплей. Упрощать можно за счет чего угодно. Access_AbuserSELECT cur_data.F0103 AS [Код группы], Right$("0000000" & cur_data.F0105, 7) AS [код], Switch( cur_data!F0103=04,'Бритвы и Эпиляторы', cur_data!F0103=07,'Машинки для стрижки', cur_data!F0103=08,'Фены', cur_data!F0103=09,'Вытяжки', cur_data!F0103=10,'Кондиционеры', cur_data!F0103=12,'Посудомоечные машины', cur_data!F0103=14,'Поверхности', cur_data!F0103=16,'Стиральные машины', cur_data!F0103=17,'Холодильники', cur_data!F0103=18,'Морозильные камеры', cur_data!F0103=19, (Выражение), ) Во-первых, тут лишняя запятая в конце. Во-вторых, я не понял, в чем вопрос. :^) В-третьих, я бы завел таблицу с этими данными, включил бы ее в запрос и выводил бы поле из нее, а не свитч. Задно будет легче вносить изменения, если содержимое этого списка изменится. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 11:21:18 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Alexander G Сенск... А теперь тупой вопрос. А через какую функцию делать подстановку... Что-то я не врубаюсь. Единственная мысль сделать таблицу с этими данными. Сделать связь по группе. Так что ли ? Если есть альтернатива готов послушать. Хотя резоннее всего будет действительно свящанная таблица. И как я раньше не додумался... ТТ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 11:36:56 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Access_AbuserБуду знать что к памяти Свитч относится прожорливо. Не столько к памяти, сколько к времени исполнения. А Alexander G про справочник действительно сказал раньше меня, прошу прощения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 12:00:32 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
можно тело запроса формировать динамически если уж так хочешь Свитч использовать, тем более что их 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 12:35:39 |
|
||
|
Траблы со Switch`em
|
|||
|---|---|---|---|
|
#18+
Access_Abuser Alexander G Сенск... А теперь тупой вопрос. А через какую функцию делать подстановку... Что-то я не врубаюсь. Единственная мысль сделать таблицу с этими данными. Сделать связь по группе. Так что ли ? Если есть альтернатива готов послушать. Хотя резоннее всего будет действительно свящанная таблица. И как я раньше не додумался... ТТ. Прошу извинить, я сейчас в отпуске, заглянул на минуту, и ответить смог не сразу. Все мысли верные - для cur_data.F0103 в конструкторе делаем подстановку из справочной таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2004, 22:40:15 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32620204&tid=1672933]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 332ms |

| 0 / 0 |
