Форум: "Базы";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];
ВнизГруппировка по дням недели Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c