Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Вниз

ошибка в вычисляемом поле   Найти похожие ветки 

 
Кирей   (2008-07-03 16:54) [0]

при добавлении в запрос поля (10^dd1.znak)/2) as polovina віскакивает ошибка: Поставщик данных или другая служба вернули состояние E_Fail где ошибка?
Использую ADO + Microsoft OLE DB Provider for Visual FoxPro 8.0


 
Desdechado ©   (2008-07-03 17:01) [1]

Это не поле, т.к. явно одной скобки не хватает.
Что за шляпка?


 
Кирей   (2008-07-03 17:01) [2]

еще, dd1.znak не содержит пустых значений


 
Кирей   (2008-07-03 17:03) [3]

Пардон, скобка лишняя (экспериментировал с проверкой пустых значений)
вот весь запрос:
select dd.ls, ddd.pok, iif(isnull(ddd.pok1), dd.lastppok, ddd.pok1) as nlimits, (10^dd1.znak)/2
from ("abon.dbf" dd
             left join
(select d.ls, d4.pok, d2.pok1, iif(isnull(d2.dateout), d.lastfee, d2.dateout) as nach_per, d4.data as kon_per
from (("abon.dbf" d
left join "\06_2008\nach.dbf" d2 on d.ls=d2.ls)
left join "\07_2008\obhod" d4 on d.ls=d4.ls)) ddd on dd.ls=ddd.ls)
             left join
(select dd2.znak, dd1.ukod, dd1.datein from "lich.dbf" dd1, "lichinf.dbf" dd2 where dd1.shifr=dd2.kod) dd1 on dd.ukod=dd1.ukod
where (ddd.pok>0) and ((dd1.datein<ddd.nach_per) or (dd1.datein>ddd.kon_per)) and (dd.ls is not null)


 
sniknik ©   (2008-07-03 17:38) [4]

даже 10^10 = E_Fail
какое максимальное значение у тебя в dd1.znak?


 
Кирей   (2008-07-04 09:08) [5]


> даже 10^10 = E_Fail


> какое максимальное значение у тебя в dd1.znak?


может быть 7, но реально есть 6 а как же быть то?


 
sniknik ©   (2008-07-04 10:40) [6]

никак, значения 6 и 7 (до 9, а если тип выражения допускает то и до 15) вполне допустимы. т.е. если там все значения <= 7, и не null то ошибка не в этом.

и +, зачем в запросе "левое"  соединение? раз dd1.znak обязательно должен иметь значение, при left все пропуски в соединении будут = null.


 
Кирей   (2008-07-04 15:32) [7]

проверил все таблицы, запрос без (10^dd1.znak)/2) выполняется отлично, получается красивое данное без единого null, но это поле очень нужно. Может как-то можно трассировать в Delphi запрос?


 
sniknik ©   (2008-07-04 16:24) [8]

> проверил все таблицы
а нужно результат объединения...

> получается красивое данное без единого null
да ну?
вместо (10^dd1.znak)/2 в запросе поставь просто dd1.znak и внимательно посмотри на его значения...

или запомни количество возвращаемых записей, после последний left join (тот что для dd1), замени на inner join и сравни количество... если разница есть то есть и значения с null.
а чтоб была гарантия должно быть условие проверки на null.

> Может как-то можно трассировать в Delphi запрос?
дельфи запрос не выполняет. т.е. оно вообще не причем.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
15-1213846622
Slider007
2008-06-19 07:37
2008.08.03
С днем рождения ! 19 июня 2008 четверг


15-1213716332
Dmitry S
2008-06-17 19:25
2008.08.03
Перестановки


2-1214779198
Андрей_1
2008-06-30 02:39
2008.08.03
Exel в Paradox


2-1215323686
Аврам
2008-07-06 09:54
2008.08.03
checkcombobox компонент


15-1213471583
Nic
2008-06-14 23:26
2008.08.03
Применение теории риска на практике





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский