Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 09:52   #1
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию DElphi ado sql access

Доброго времени суток!!
Помогите пожалуйста, как сделать запрос из уже выброного запроса,
Делаю запрос ADOquery.sql.text
Zapros:='SELECT DISTINCTROW base.Дата, base.маршрут, Sum(base.тонаж) AS [Sum-тонаж] FROM base where Дата like "%%'+ComboBox6.Text+'" GROUP BY base.Дата, base.маршрут ';
в комбобоксе у меня прописаны месяц и год (02.2012, 03.2012, и т д)
надо из этого запроса сделать другой чтоб сложил весь тонаж а даты отсеялись, а маршруты сгруперовались!
Помогите кто может!!!!! плиз!!
Я не совсем юзер но и не хакер!!
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 10:27   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

к сожалению, Delphi не позволяет делать выборки из датасетов (в C# (точнее .net) - это просто чудо, как удобно!)

поэтому, если что-то простое - можно перебрать и обработать датасет (результат выборки) на клиенте ( - найти какие-то величины, по чём-то сгруппировать и т.д.),
но, в 99% случаев проще,удобнее и БЫСТРЕЕ сформировать НОВЫЙ запрос, на основе первого, и выполнить его.

Цитата:
надо из этого запроса сделать другой чтоб сложил весь тонаж а даты отсеялись, а маршруты сгруперовались!
не понимаю, что Вам нужно...
весь тонаж по всем датам всех годов и всех маршрутов?!!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2012, 10:52   #3
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Genas Посмотреть сообщение
мне надо избавится от даты в выборке за месяц и и про суммировать весь тонаж перевезеный машиными, по маршрутам, маршрутов не много а рейсов много! кто возил уже не важно, важно по каким маршрутам и сколько!
Когда делаешь выборку за месяц на каждую дату повторяющиеся паршруты!! надо чтоб было
Карьер -3000 тон
Остор - 4000 тон
и так далие
а у меня выходит

дата маршрут тоны
дата маршрут тоны
и так за каждый день, это поробно а надо сгруперовать

можно наверное решить проблему, если подойти с другой стороны, я запрос на выборку за месяц делаю через Like %%'02.2012'
а через Between чето не выходит ошибка, может в этом пожете, гуглил вопросы такие были, но ответа не нашел, а что нашел то не работает!!!

Последний раз редактировалось Genas; 04.05.2012 в 10:56.
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 11:11   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

если я правильно Вас понял, то это элементарно, запрос упрощается (надо выкинуть из него Дата и всё!)
попробуйте так:
Код:
Zapros:='SELECT base.маршрут, Sum(base.тонаж) AS [Sum-тонаж] FROM base where Дата like "%%'+ComboBox6.Text+'" GROUP BY base.маршрут ';
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2012, 11:36   #5
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
если я правильно Вас понял, то это элементарно, запрос упрощается (надо выкинуть из него Дата и всё!)
попробуйте так:
Код:
Zapros:='SELECT base.маршрут, Sum(base.тонаж) AS [Sum-тонаж] FROM base where Дата like "%%'+ComboBox6.Text+'" GROUP BY base.маршрут ';
Дату выкинули а маршруты не группируются,
Получается тоже самое только без даты!

Последний раз редактировалось Genas; 04.05.2012 в 11:51.
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 11:46   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а вы GROUP BY base.маршрут не забыли написать в запросе?!

если не забыли, дайте скриншот выбранных данных, любопытно...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.05.2012, 11:48   #7
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цитата:
маршруты не группируются,
Быть того не может.

Еще интересно, а что вот такое тут - Дата like "%%'+ComboBox6.Text+'" ?
=master= вне форума Ответить с цитированием
Старый 04.05.2012, 11:55   #8
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а вы GROUP BY base.маршрут не забыли написать в запросе?!

если не забыли, дайте скриншот выбранных данных, любопытно...
GROUP BY base.маршрут не забыл, а вот base.Дата забыл убрать, =)) вроде получилось!!

Последний раз редактировалось Genas; 04.05.2012 в 11:58.
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 11:56   #9
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от =master= Посмотреть сообщение
Быть того не может.

Еще интересно, а что вот такое тут - Дата like "%%'+ComboBox6.Text+'" ?
Это все даты какого то месяца у меня в комбо бокск 02.2012, 03.2012, 04.2012...

а подскажите как правельно Between использовать!!
Genas вне форума Ответить с цитированием
Старый 04.05.2012, 12:02   #10
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Да нет, там у вас лабуда написана, причем странная.

Цитата:
как правельно Between использовать
Что значит как? в условии надо указать между чем и чем.

Какого типа поле Дата, и какие реальные данные оно содежит?
=master= вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi + ADO + Access Vanta11a Помощь студентам 2 06.09.2010 21:54
access+delphi+ado aid_013 БД в Delphi 2 10.07.2010 09:28
Delphi+Ado+Access kmvteam БД в Delphi 26 09.07.2010 02:08
Delphi+ADO+Access Turpa Помощь студентам 12 15.10.2007 23:29