|
|
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Так работать не будет. Чтобы выдавались все записи, в WHERE должно быть написано либо строковое поле Like "*", либо просто True без названий полей. Та проверка на равенство, которая использована сейчас, такого эффекта не даст никогда. И кроме того, я не понял, какого типа это поле АБПЛГКд, которое иногда равно числу, а иногда стрингу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 13:04 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Пробежался по всему топику, понял, что поле числовое. Если так, то выражение поле="стринг" вообще должно выдавать ошибку. Впрочем, поле Like "стринг" тоже. Вот вариант, который должен работать: WHERE iif(isnull(F(0)), true, Т02Аб.АБПЛГКд=F(0)); При этом функция в случае всех записей должна возвращать Null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 13:57 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
То есть, В. С. хотел сказать, что для выдачи всех записей надо написать F(0) = Null ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 17:32 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Так писать не получится, нельзя присваивать функции значение. Но надо, чтобы она возвращала Null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 17:50 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Null - к сожалению, тоже присвоенное значение, а можно присвоить этой функции "ничто". Как сделать так, чтобы запрос не почуствовал никакого значения функции, вроде бы ее и нет вовсе, и выдал все записи. Я уже перепробовала много Ваших советов, но все они частично решают описанную мной проблему, т.е. надо вводить или определенный тип даных или определенные значения для поля, т. е. теряется 5 принцип определения программы - массовость. Я люблю массовость и универсальность. Буду с интересом ждать Ваших решений, и сама буду "биться" дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 21:46 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
авторNull - к сожалению, тоже присвоенное значение, а можно присвоить этой функции "ничто". Мы говорим о разных вещах. Вы, наверно, программируете недавно. Я говорю, что присвоить функции значение так, как Вы написали, нельзя. Но возвращать значение функция может и должна. Это касается и Null'а, и любого другого значения. авторКак сделать так, чтобы запрос не почуствовал никакого значения функции, вроде бы ее и нет вовсе, и выдал все записи. Именно так, как я предложил. Попробовать слабО? авторБуду с интересом ждать Ваших решений, и сама буду "биться" дальше. Не надо биться, когда ответ уже найден. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 21:52 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Если присвоить функции значение Null запрос выдаст все записи в которых данно еполе пустое, а не все записи, я уже пробовала :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 21:55 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Какой запрос? Тот, который я предложил? WHERE iif(isnull(F(0)), true, Т02Аб.АБПЛГКд=F(0)); ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 21:56 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Нет, Ваш еще не пробовала, така как не понимаю его смысла :( Надо все переварить ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:00 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Саныч! разговор, похоже, на разных языках.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:00 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Объявляется мораторий на все новые варианты, пока ASTARTA не попробует то, что уже предложено. А то - "все перепробовала, ничего не помогает"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:04 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Чтобы понять смысл, достаточно посмотреть в хелпе, что такое iif. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:05 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Проверила, помогло. Функции нужно присвоить Null, тогда запрос выдает все значения Если же нужно отобрать записи с пустыми значениями данного поля возникает конфликт. Запрос два раза выдает одинаковый результат - все знаяения. Т. е. остается ма-а-а-а-аленькая условность (не присваивать полю пустых значений), с ней в принципе можно мириться, но, повторяю, это не окончательное решение проблемы ... Большое всем спасибо, на таком этапе это меня устроит, напишу запрет на ввод пустых значений и вперед. Если этот топик будет иметь продолжение, с интересом буду за ним следить. Огромное спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:09 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Мораторий закончен. Могу предложить два варианта. 1. Найти какое-нибудь значение, которого в этом поле не бывает. 2. Сделать две функции: WHERE iif(F1(0), true, Т02Аб.АБПЛГКд=F2(0)); F1 - возвращает True или False в зависимости от того, нужны ли все значения или одно. F2 - используется только во втором случае и возвращает нужное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:13 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Если бы мы могли предугадывать события, и найти "такие значения", где бы мы были. Все было бы, как в притче о соломенном заборе: "Зачем его делать из дерева, если все равно я проживу два дня" :) Кто знает, что правительству или начальству понадобится в этом поле завтра или через год ... Все это грустно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:17 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
А второй вариант прочитать слабО??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:21 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
На Null я проверяла именно второй вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:22 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Но на одной функции, на двух я и сама умею. Жаль что придется вводить дополнительную функцию, что приведет к замедлению работы программы. Создавая этот топик, я думала что из за моего невежества есть просто какой то "волшебный" подстановочный символ, и все тут. А вышло все до криволинейных несходящихся интегралов второго рода :( Вот все в жизни так ... Еще раз всем огромное спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:26 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Еще вариант. WHERE cstr(Т02Аб.АБПЛГКд) like F(0); И тогда функция пусть возвращает либо cstr от числа, либо "*". Но работать будет медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:30 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Любая конвертация приводит к замедлению, а в строковую величину - вообще ужас, пусть останется предпред и пред последние варианты :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:32 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Самое важное для меня уже выяснилось. Нет такого "волшебного" подстановочного символа, который бы легко решал описанную проблему. Что-то в "Мелкософте" не додумали до конца. Они забыли что мир состоит из противоречий. Что программистам придется всю жизнь только то и делать, что совмещать несовместимое. Придется "своими изобретениями" доделывать то, что не доделали сотни учёных мужей. Каждый подвиг - это чье-то преступление. Так что будем дальше делать подвиги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:35 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
А я бы посмотрел с другой стороны. Майкрософт специально не запрограммировал все, что бывает в мире, чтобы нам было чем зарабатывать на хлеб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:37 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Сколько же Вы заработаете лопатой без ручки. Из за таких вот "мелочей" возникают серьезные разногласия с клиентами и их заказами. Это фундаментальное понятие, аксиома. Когда-то в универе на госэкзамене профессора стали спрашивать элементарные вещи, и все начали "сыпаться". Суть всего что нас окружает, именно в элементарном. С теории вакуума надо начинать 0 = 0 Если смогут обьяснить эту формулу, человечество резко "прыгнет" вперед в своем развитии. В Access есть много "елементарных" недоделок, да и в других разработках то же самое. Необновляемые запросы на группировку данных например. Здесь иожно породить еще десятки топиков с "элементарными" проблемами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:44 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
Майкрософт специально не запрограммировал все, что бывает в мире, чтобы нам было чем зарабатывать на хлеб. Абсолютно согласен. Более того, запрограммировать все не сумел даже господь Бог ;-) Вообще, "ругатели" Майкрософта скорее всего сами никогда не создавали более менее сложные программы. А создавая, никогда бы не были так категоричны. Мой опыт показывает что время на поиск ошибок в программах многократно превышает время на их создание :(( Ну а по сабжу - SQL создавал не Майкрософт и претензии моей соотечественницы (судя по букве i на месте буквы ы) в данном случае не по адресу :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:49 |
|
||
|
Какое значение присвоить функции
|
|||
|---|---|---|---|
|
#18+
2 ASTARTA: Все хорошо, со всем готов согласиться, пока дело не доходит до конкретных примеров. авторНеобновляемые запросы на группировку данных например. Ну и как их обновлять? Дана таблица ttt: a b c 1 1 1 1 2 2 Дан запрос select a, min(b), max(c) from ttt group by a: 1 1 2 Ну, сделали мы его обновляемым. Я зашел и исправил все три значения на 0. Что должно произойти в таблице? === А уж в том случае, который у нас тут был, когда решение (с двумя функциями) заранее известно, но просто хочется поэстетичнее, - ну где же тут подвиг??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2004, 22:50 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32409680&tid=1676208]: |
0ms |
get settings: |
7ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
221ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 574ms |

| 0 / 0 |
