Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.03;
Скачать: CL | DM;

Вниз

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

 
Кирей   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
2-1215240510
Максим
2008-07-05 10:48
2008.08.03
combobox


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


15-1213879771
User_1
2008-06-19 16:49
2008.08.03
El-Lib


2-1214980905
zorik
2008-07-02 10:41
2008.08.03
Насколько целесообразно использовать такое?


2-1214904699
Skary
2008-07-01 13:31
2008.08.03
Звук