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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2010, 10:49   #1
Кас Алина
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 13
По умолчанию Выборка по дате (ADOQuery)

Нужно осуществить выборку по дате:
например с 01.02.2010 по 07.02.2010
группировать по названию направления.
сделала запрос в ADOQuery

Код:
select Naim_napr_out,
sum(Ch_kan_out) as sum_ch,
sum(Otv_out) as sum_otv, 
(sum_otv*100/sum_ch) as sum_otp
from Outbox
where (Data_out >=  Param) and (Data_out <= Param2) 
group by Naim_napr_out
где Naim_napr_out это название направления.

Проблема в том, что вроде работает, база заполнена правильно, но по какой-то мне не понятной причине программа не считает 01.02.2010 как параметр, хотя с 02.02.2010 всё работает как положено.

Когда делаю запрос с 26.01.2010 по 01.02.2010 (т.е. неделя) вообще ничего не показывает, DBGrid пустой, а с 25.01.2010 по 02.02.2010 всё работает.
Кто-нибудь подскажет? Может я делаю что-то не правильно??

Спасибо...

Последний раз редактировалось Stilet; 02.03.2010 в 13:16.
Кас Алина вне форума Ответить с цитированием
Старый 02.03.2010, 12:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

думаю проблема в том, что у Вас не Date - а DateTime
т.е. либо в параметрах, либо в самой БД в поле помимо даты содержится ещё и время.

решить можно попробовать так:
1) СУБД какая? если MS SQL или ORACLE
то
Код:
where (trunc(Data_out) >= Param) and (trunc(Data_out) <= Param2)
если MS Access:
Код:
where (int(Data_out) >= Param) and (int(Data_out) <= Param2)

2) показывайте код на Delphi, как формируете и задаёте параметры
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2010, 13:44   #3
Кас Алина
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 13
По умолчанию

DM.D_OUT.close;
DM.D_OUT.parameters[0].Value:=DTP_S.Date;
DM.D_OUT.parameters[1].Value:=DTP_Po.Date;
DM.D_OUT.open;

вот D_OUT есть ADOQuery;
DTP_S и DTP_Po это TDateTimePicker - т.е. промежуток с DTP_S по DTP_Po.
Кас Алина вне форума Ответить с цитированием
Старый 02.03.2010, 13:52   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а что насчёт совета 1)
попробовали?

и ещё! в запросе перед параметрами должны быть ДВОЕТОЧИЯ!
Где они?!?!?!
Код:
where (Data_out >= :Param) and (Data_out <= :Param2)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2010, 14:03   #5
Кас Алина
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 13
По умолчанию

попробовала, но тут еще одна проблема на счет DateTime вы говорили, это где ставить?
если в DataType, то... я ставлю Date а мне автоматически меняется на DateTime
а в Value type стоит Date

а на счет ":" я не знала...
спасибо!

в БД указан именно краткий формат даты __.__.____

Последний раз редактировалось Stilet; 02.03.2010 в 14:50.
Кас Алина вне форума Ответить с цитированием
Старый 02.03.2010, 14:17   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а на счет ":" я не знала...
надеюсь, проблема то решена?
всё, тему можно закрывать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.03.2010, 14:27   #7
Кас Алина
Пользователь
 
Регистрация: 26.12.2008
Сообщений: 13
По умолчанию

эх, нет... =((
всё равно ничего не выходит...
ладно, огромное спасибо вам за помощь... хоть что-то новое узнала =))
буду сидеть разбираться дальше...
Кас Алина вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AdoQuery lenuxoid БД в Delphi 6 25.03.2010 18:24
Выборка из списка по дате PIKA4Y Microsoft Office Excel 0 28.01.2010 17:06
ADOQuery Radin Помощь студентам 7 22.12.2009 12:50
ADOQuery Sanakan Помощь студентам 0 10.11.2009 23:31
выборка по дате vaga Microsoft Office Access 10 11.10.2009 04:21