Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

Группировка по дням недели   Найти похожие ветки 

 
Koks ©   (2002-05-16 10:55) [0]

Уважаемые мастера ! Подскажите...
Подключаюсь к базе Access2000 через ADO. Б вазе есть таблица:
ID Color Claruty Size Price Date
---------------------------------------
Key Int Int Int Float Date

Мне нужно составить аггрегирующий запрос по неделям. (Чтоб с начала года 1,2,3,4......)
Как из даты выципит эту неделю....


 
Johnmen ©   (2002-05-16 11:25) [1]

Придется извращаться, типа используя UNION...


 
Lusha ©   (2002-05-16 11:51) [2]

Посмотрите имеется ли в Access функция форматирования даты или функция возвращающая Week of Year...
Если Access поддерживает выражения в предложении GROUP BY, то Вы спасены...


 
koks ©   (2002-05-16 16:02) [3]

Week of Yer в Access 2000 нет... :(

А как ее рассчитать-то. Положим, при вводе для каждой записи будет вычисляться WeekOfYear(Date).

Только вот как написать функцию WeekOfDay на Delphi....

2 Johnmen.... а это как типа....


 
Lusha ©   (2002-05-16 16:36) [4]

>koks © (16.05.02 16:02)
Только вот как написать функцию WeekOfDay на Delphi....

Не надо ее писать... Функция DayOfWeek в delphi присутствует...



 
Johnmen ©   (2002-05-16 16:45) [5]

>Lusha © (16.05.02 16:36)
Автору, как я понял, надо получить номер недели в году по дате...


 
Lusha ©   (2002-05-16 16:48) [6]

>Johnmen © (16.05.02 16:45)
Я это понимаю... Просто для этого ему понадобится функция DayOfWeek, а он ее писать собрался...


 
Lusha ©   (2002-05-16 17:13) [7]

>koks © (16.05.02 16:02)
Открыл справку по Access и нашел там Format для представления дат... Одна из литер отвечает именно за номер недели... Вот только саму функцию преобразования я не нашел (Справка - полный отстой)...


 
koks ©   (2002-05-17 10:09) [8]

2 Lusha Открыл справку по Access и нашел там Format для представления дат... Одна из литер отвечает именно за номер недели... Вот только саму функцию преобразования я не нашел (Справка - полный отстой)...

Спасибо - попробую поколдовать... по-моему здесь есть шанс.
По поводу справки по Aссess - ты еще попробуй найти что-нибудь через помощника.

2 Lusha Я это понимаю... Просто для этого ему понадобится функция DayOfWeek, а он ее писать собрался...

Вот именно - DayOfWeek есть. А мне надо WeekOfYear...
Вот если бы ее можно было бы написать - было бы гораздол проще.


 
Lusha ©   (2002-05-17 11:02) [9]

Лови... Результат не гарантирован, но вроде что то выдает... :)

function WeekOfYear(ADate : TDateTime) : Integer;
var AYear, AMonth, ADay : Word;
Year1stDate : TDateTime;
begin
DecodeDate(ADate, AYear, AMonth, ADay);
Year1stDate := EncodeDate(AYear, 1, 1);
Result := 7 - DayOfWeek(Year1stDate);
Result := Trunc(ADate) - Trunc(Year1stDate) + 1 - Result;
if (Result mod 7) = 0 then Result := Result div 7 + 1
else Result := Result div 7 + 2;
end;



Страницы: 1 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
1-30885
ETeRNaL
2002-05-30 06:05
2002.06.10
TRichEdit


1-30757
chips
2002-05-30 16:28
2002.06.10
размеры файла


3-30697
kalinka
2002-05-18 10:46
2002.06.10
Где посмоттреть нумерацию размеров страниц, принятую в Windows?


1-30864
dihlos
2002-05-29 16:10
2002.06.10
И снова формы...


4-31045
Mr.Ice
2002-04-09 07:45
2002.06.10
раскладка клавы