Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизВозник. ошибки в дес.-тайме при попытке создать экземпляры полей Найти похожие ветки
← →
Виталий Панасенко (2005-08-26 12:12) [0]Суть .. Даже не знаю, как сказать..Два запроса.. в первом диапазон дат указан в тексте запроса... Во-втором случае - параметры... В первом случае запрос выполняется (и, соответсвенно, IDE создает экземпляры полей)... Во втором случае - Could not find object (BDE Error 8712)... Ни как не могу победить. А строить запрос динамически - влом..:-)).. В инеет нашел только вопрос по поводу ошибки и по поводу MS SQL 7.0...
/*Расход месяц*/
select "r", "m",doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num,
sum(produkt_cenarfull * produkt_kolvo) as sumpdv from docr d, client p, maindocr m
where doc_id in (
select doc_id from maindocr
where doc_date between "01.05.05" and "31.05.05"
and DPIDoc_Num is not null) and p.client_code=m.client_code and
m.doc_id=d.doc_id
group by doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num
union all
/* Приход месяц*/
select "p", "m",doc_id, d.postavshik_code, p.postavshik_name, p.postavshik_dpicode,m.doc_date, m.dpidoc_num,
sum(produkt_cenap * produkt_kolvo) as sumpdv from docp d, postavsh p, maindocp m
where doc_id in (
select doc_id from maindocp
where doc_date between "01.05.05" and "31.05.05"
and DPIDoc_Num is not null) and p.postavshik_code=m.postavshik_code and
m.doc_id=d.doc_id
group by doc_id, d.postavshik_code, p.postavshik_name, p.postavshik_dpicode, m.doc_date, m.dpidoc_num
union all
/*Расход квартал*/
select "r", "q",doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num,
sum(produkt_cenarfull * produkt_kolvo) as sumpdv from docr d, client p, maindocr m
where doc_id in (
select doc_id from maindocr
where doc_date between "01.04.05" and "30.06.05"
and DPIDoc_Num is not null) and p.client_code=m.client_code and
m.doc_id=d.doc_id
group by doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num
union all
/* Приход квартал*/
select "p", "q",doc_id, d.postavshik_code, p.postavshik_name, p.postavshik_dpicode,m.doc_date, m.dpidoc_num,
sum(produkt_cenap * produkt_kolvo) as sumpdv from docp d, postavsh p, maindocp m
where doc_id in (
select doc_id from maindocp
where doc_date between "01.04.05" and "30.06.05"
and DPIDoc_Num is not null) and p.postavshik_code=m.postavshik_code and
m.doc_id=d.doc_id
group by doc_id, d.postavshik_code, p.postavshik_name, p.postavshik_dpicode, m.doc_date, m.dpidoc_num
order by 1, 2, m.doc_date, m.dpidoc_num
и
/*Расход месяц*/
select "r", "m",doc_id, m.client_code as code, p.client_name as name, p.client_dpicode as dpi_code, m.doc_date, m.dpidoc_num,
sum(produkt_cenarfull * produkt_kolvo) as sumpdv from docr d, client p, maindocr m
where doc_id in (
select doc_id from maindocr
where doc_date between :dat1 and :dat2
and DPIDoc_Num is not null) and p.client_code=m.client_code and
m.doc_id=d.doc_id
group by doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num
union all
/* Приход месяц*/
select "p", "m",doc_id, m.postavshik_code, p.postavshik_name, p.postavshik_dpicode,m.doc_date, m.dpidoc_num,
sum(produkt_cenap * produkt_kolvo) as sumpdv from docp d, postavsh p, maindocp m
where doc_id in (
select doc_id from maindocp
where doc_date between :dat11 and :dat22
and DPIDoc_Num is not null) and p.postavshik_code=m.postavshik_code and
m.doc_id=d.doc_id
group by doc_id, m.postavshik_code, p.postavshik_name, p.postavshik_dpicode, m.doc_date, m.dpidoc_num
union all
/*Расход квартал*/
select "r", "q",doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num,
sum(produkt_cenarfull * produkt_kolvo) as sumpdv from docr d, client p, maindocr m
where doc_id in (
select doc_id from maindocr
where doc_date between :qdat1 and :qdat2
and DPIDoc_Num is not null) and p.client_code=m.client_code and
m.doc_id=d.doc_id
group by doc_id, m.client_code, p.client_name, p.client_dpicode, m.doc_date, m.dpidoc_num
union all
/* Приход квартал*/
select "p", "q",doc_id, m.postavshik_code, p.postavshik_name, p.postavshik_dpicode,m.doc_date, m.dpidoc_num,
sum(produkt_cenap * produkt_kolvo) as sumpdv from docp d, postavsh p, maindocp m
where doc_id in (
select doc_id from maindocp
where doc_date between :qdat11 and :qdat22
and DPIDoc_Num is not null) and p.postavshik_code=m.postavshik_code and
m.doc_id=d.doc_id
group by doc_id, m.postavshik_code, p.postavshik_name, p.postavshik_dpicode, m.doc_date, m.dpidoc_num
order by 1, 2, m.doc_date, m.dpidoc_num
← →
Sergey13 © (2005-08-26 12:42) [1]Ну и запросы у вас, - сказала база данных и повисла.
(с)
8-)
А doc_date какого типа? А параметр? И как параметр присваиваешь? И почему параметры везде разные (:qdat1 и :qdat11)?
← →
Виталий Панасенко (2005-08-26 14:21) [2]
> А doc_date какого типа
DATE
> И как параметр присваиваешь? И почему параметры везде разные
> (:qdat1 и :qdat11)?
Пробовал и одинаковые имена параметров (изначально).. Подумал, может БДЕ путается..Вот и поменял имена... Параметры типа ftDate(ftDateTime -пробовал оба варианта)... Я их (параметры) еще нигде не определяю.. Я в редакторе полей пытаюсь выполнить "Add all fields"... Когда даты прописаны - поля добавляются.. Если параметры - Could not find object... Каждый подзапрос в отдельности - пожалуйста, все тип-топ... Все вместе - фиг..
← →
Виталий Панасенко (2005-08-26 14:22) [3]Да, и чем запрос не нравится ? Вроди, запрос, как запрос...
← →
Sergey13 © (2005-08-26 14:28) [4]> DATE
Это в таблице? А в датасете какой тип у поля указан? При юнионах вроде бывает, что слетает (где то недавно видел).
А параметрам значение по умолчанию если попробовать присвоить?
И проверь у всех ли тип правильный. Может пропустил какой.
А без добавления полей - запрос открывается?
← →
Sergey13 © (2005-08-26 14:31) [5]2[3] Виталий Панасенко (26.08.05 14:22)
>Да, и чем запрос не нравится ? Вроди, запрос, как запрос...
Длинный. 8-)
Две таблицы вместо одной (приход/расход).
Запросы за квартал и месяц в этом квартале объединяются. Зачем? Впрочем в логику я не вникал особо.
← →
Виталий Панасенко (2005-08-26 14:42) [6]
> Две таблицы вместо одной (приход/расход).
Давно было.. И мне пока нравится.. Так есть таблица остатков..:-))
> Запросы за квартал и месяц в этом квартале объединяются.
> Зачем? Впрочем в логику я не вникал особо
А это такой реестр.. За текущий месяц и за квартал приходных и расходных документов...Не я придумал.. Налоговая...
> А в датасете какой тип у поля указан?
Нету у меня CDS... я просто выбираю(пытаюсь) данные для отчета... Это не трехзвенка... Обыкновенное файл-серверное приложение...Кстати, надо переспросить, а нужно ли в чать "За квартал" включать текущий месяц...
← →
Sergey13 © (2005-08-26 14:48) [7]2 [6] Виталий Панасенко (26.08.05 14:42)
> Нету у меня CDS...
А при чем тут CDS? Я про него ни гу-гу. 8-)
[4] Sergey13 © (26.08.05 14:28)
>> DATE
>Это в таблице? А в датасете какой тип у поля указан?
Хотя это я ступил. Ты поля не можешь добавить а я их тип спрашиваю. 8-)
← →
Виталий Панасенко (2005-08-26 14:52) [8]
> А при чем тут CDS? Я про него ни гу-гу. 8-)
А это ?
> Это в таблице? А в датасете какой тип у поля указан?
Ничего не понимаю...Думал, БДЕ может слетело.. На другую машину пертянул - та же картина
← →
Sergey13 © (2005-08-26 15:02) [9]2[8] Виталий Панасенко (26.08.05 14:52)
А что, датасет - это непременно клиентский? А TQuery им не является?
← →
Виталий Панасенко (2005-08-26 15:08) [10]
> 2[8] Виталий Панасенко (26.08.05 14:52)
> А что, датасет - это непременно клиентский? А TQuery им
> не является?
Проехали... Проблему это не решает...Придется в Rx совать...Не, проще все-таки строку создать со значением даты...
← →
Sergey13 © (2005-08-26 15:10) [11]2[2] Виталий Панасенко (26.08.05 14:21)
> Каждый подзапрос в отдельности - пожалуйста, все тип-топ... Все вместе - фиг..
Попробуй 2 подзапроса из одной таблицы. Т.е. только приход или расход.
← →
Sergey13 © (2005-08-26 15:11) [12]И посмотри все таки тип получаемого поля, когда вместо параметров константы, т.е. когда можешь добавить поля.
← →
Виталий Панасенко (2005-08-26 15:17) [13]
> тип получаемого поля
TDateField
> Попробуй 2 подзапроса из одной таблицы. Т.е. только приход
> или расход.
Could not find object... Лады, спишем на убогость БДЕ(Ну, не себя же тупым обзывать !..:-)).. Только два дня жалко...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.013 c