Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Возник. ошибки в дес.-тайме при попытке создать экземпляры полей [D5, Paradox]


Виталий Панасенко ©   (2005-08-26 12:12:00) 

Суть .. Даже не знаю, как сказать..Два запроса.. в первом диапазон дат указан в тексте запроса... Во-втором случае - параметры... В первом случае запрос выполняется (и, соответсвенно, 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


Виталий Панасенко   (2005-08-26 15:17:00) [1]


> тип получаемого поля

TDateField

> Попробуй 2 подзапроса из одной таблицы. Т.е. только приход
> или расход.

Could not find object... Лады, спишем на убогость БДЕ(Ну, не себя же тупым обзывать !..:-)).. Только два дня жалко...


Sergey13   (2005-08-26 15:11:00) [2]

И посмотри все таки тип получаемого поля, когда вместо параметров константы, т.е. когда можешь добавить поля.


Sergey13   (2005-08-26 15:10:00) [3]

2[2] Виталий Панасенко   (26.08.05 14:21)
>  Каждый подзапрос в отдельности - пожалуйста, все тип-топ... Все вместе - фиг..
Попробуй 2 подзапроса из одной таблицы. Т.е. только приход или расход.


Виталий Панасенко   (2005-08-26 15:08:00) [4]


> 2[8] Виталий Панасенко   (26.08.05 14:52)
> А что, датасет - это непременно клиентский? А TQuery им
> не является?

Проехали... Проблему это не решает...Придется в Rx совать...Не, проще все-таки строку создать со значением даты...


Sergey13   (2005-08-26 15:02:00) [5]

2[8] Виталий Панасенко   (26.08.05 14:52)
А что, датасет - это непременно клиентский? А TQuery им не является?


Виталий Панасенко   (2005-08-26 14:52:00) [6]


> А при чем тут CDS? Я про него ни гу-гу. 8-)

А это ?
> Это в таблице? А в датасете какой тип у поля указан?

Ничего не понимаю...Думал, БДЕ может слетело.. На другую машину пертянул - та же картина


Sergey13   (2005-08-26 14:48:00) [7]

2 [6] Виталий Панасенко   (26.08.05 14:42)
> Нету у меня CDS...
А при чем тут CDS? Я про него ни гу-гу. 8-)

[4] Sergey13 ©   (26.08.05 14:28)
>> DATE
>Это в таблице? А в датасете какой тип у поля указан?
Хотя это я ступил. Ты поля не можешь добавить а я их тип спрашиваю. 8-)


Виталий Панасенко   (2005-08-26 14:42:00) [8]


> Две таблицы вместо одной (приход/расход).

Давно было.. И мне пока нравится.. Так есть таблица остатков..:-))

> Запросы за квартал и месяц в этом квартале объединяются.
> Зачем? Впрочем в логику я не вникал особо

А это такой реестр.. За текущий месяц и за квартал приходных и расходных документов...Не я придумал.. Налоговая...
>  А в датасете какой тип у поля указан?

Нету у меня CDS... я просто выбираю(пытаюсь) данные для отчета... Это не трехзвенка... Обыкновенное файл-серверное приложение...Кстати, надо переспросить, а нужно ли в чать "За квартал" включать текущий месяц...


Sergey13   (2005-08-26 14:31:00) [9]

2[3] Виталий Панасенко   (26.08.05 14:22)
>Да, и чем запрос не нравится ? Вроди, запрос, как запрос...
Длинный. 8-)
Две таблицы вместо одной (приход/расход).
Запросы за квартал и месяц в этом квартале объединяются. Зачем? Впрочем в логику я не вникал особо.


Sergey13   (2005-08-26 14:28:00) [10]

> DATE
Это в таблице? А в датасете какой тип у поля указан? При юнионах вроде бывает, что слетает (где то недавно видел).

А параметрам значение по умолчанию если попробовать присвоить?
И проверь у всех ли тип правильный. Может пропустил какой.
А без добавления полей - запрос открывается?


Виталий Панасенко   (2005-08-26 14:22:00) [11]

Да, и чем запрос не нравится ? Вроди, запрос, как запрос...


Виталий Панасенко   (2005-08-26 14:21:00) [12]


> А doc_date какого типа

DATE

> И как параметр присваиваешь? И почему параметры везде разные
> (:qdat1  и :qdat11)?

Пробовал и одинаковые имена параметров (изначально).. Подумал, может БДЕ путается..Вот и поменял имена... Параметры типа ftDate(ftDateTime  -пробовал оба варианта)... Я их (параметры) еще нигде не определяю.. Я в редакторе полей пытаюсь выполнить "Add all fields"... Когда даты прописаны - поля добавляются.. Если параметры - Could not find object... Каждый подзапрос в отдельности - пожалуйста, все тип-топ... Все вместе - фиг..


Sergey13   (2005-08-26 12:42:00) [13]

Ну и запросы у вас, - сказала база данных и повисла.
(с)
8-)

А doc_date какого типа? А параметр? И как параметр присваиваешь? И почему параметры везде разные (:qdat1  и :qdat11)?


Наверх

Титульная страница Поиск, карта сайта Написать письмо