Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Работа с агрегатными функциями


Автор: Eva1 2.4.2006, 15:58
Всем привет!

Кто подскажет как работать с агрегатными функциями?
Базы данных - MSAccess2000; Способа доступа - ADO.

Пишу запрос:
Код

ADOQuery1.SQL.Add('select date as дата, produce as продукт, price as цена, login_id, sum(price) as сумма');
ADOQuery1.SQL.Add('from Expenditure_Book');
ADOQuery1.SQL.Add('group by date, produce, price, login_id');


Выводится ошибка:
Project NoteBook.exe raised exeption class EAccessViolation with message 'Access violation at address 1B04FC6 in module'msjet40.dll'. Read of address 0005242E'.
Далее в поле 'сумма' выводится тоже самое, что и в 'цене'.

ЗАРАНЕЕ СПАСИБО!

Автор: YurikGL 2.4.2006, 17:27
Цитата

'select date

для начала меняем имя столбца. Или хотя бы берем его в []

Автор: Eva1 3.4.2006, 18:23
Спасибо, YurikGL,

если написать запрос:
Код

ADOQuery1.SQL.Add('select sum([price]) as сумма from Expenditure_Book');

то ответ в столбце верный, но ошибка все равно выскакивает.

Project NoteBook.exe raised exeption class EAccessViolation with message 'Access violation at address 1B04FC6 in module'msjet40.dll'. Read of address 0005242E'.


Не подскажете-ли в чем проблема?

Автор: Vit 4.4.2006, 15:04
А не использовать в запросе русских букв вообще?

Автор: Eva1 4.4.2006, 18:06
Спасибо большое, Vit,

все отлично работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)