Форум: "Начинающим";
Текущий архив: 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