|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Здравствуйте, В форме есть два поля "ДатаС" и "ДатаПо" Как правильно написать запрос, чтобы он формировал таблицу "Календарь" с одним столбцом "Дата", а строками были даты от ДатаС по ДатаПо. Например, ДатаС=01.01.2016, ДатаПо= 31.01.2016. Формировалась бы таблица "Календарь" Дата 1 01.01.2016 2 02.01.2016 3 03.01.2016 ... 31 31.01.2016 Этот запрос далее будет использоваться для построения других запросов ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 12:15 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Serega_555, Возможно не так понял вопрос, но смею Смиренно (Задолбали чморить полубоги ) предположить, что вот такой примерчик проканает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 12:25 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Serega_555, Циклом пройтись по таблице, не? Что бы за каждый раз делать запись с приращением... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 12:30 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
нет, не то. Смысл в том, что есть таблица "События", в которую заносятся события в какой-то день. Дни в таблице идут не по порядку, с разрывами. Например, за записью от 01.01.2016 может идти запись от 04.01.2016. Я хочу сделать запрос, используя желаемую таблицу "Календарь" и таблицу "События", чтобы в итоге сделать отчет по событиям за период, но с учетом пропущенных дней. Например при выборе отчета за период с 01.01.2016 по 07.012016 выводилась инфа: 01.01.2016 "Событие такое-то" 02.01.2016 "Событий нет" 03.01.2016 "Событий нет" 04.01.2016 "Событие другое-то" Можно, конечно, тупо сделать таблицу "Календарь" на 100 лет вперед. Но задумка была создавать таблицу "Календарь" по периоду, дабы не забивать базу огромной таблицей ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 13:04 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Serega_555, собственно я это и предложил.... в момент вывода информации, уже зная период отчета (дата начала и конца) запускаем цикл, который делает временную таблицу.... Итерация за период с приращением на каждом цикле на 1 сутки... Потом таблицу можно и удалить :) ИМХО, ООООЧЕНЬ приближенно к сути первичного вопроса ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 13:13 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
vixxa, а как программно это сделать? Прошу помочь с кодом ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 13:19 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Serega_555, не видя базы - трудновато сказать конкретно... FOR ... NEXT цикл Внутри можно DoCmd.GoToRecord переход по записям (в зависимости от БД и предпочтений) DateAdd - прирастить дату (основываясь на порядке цикла Ну как-то так :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 13:38 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Serega_555а как программно это сделать? Прошу помочь с кодом а блок схема не подойдет ? а то хз куда и как тебе это нужно писать... Дата_старт = начальная дата Дата_стоп = конечная дата метка ЕЩЁ : Записать в таблицу Дата_старт Если Дата_старт = Дата_стоп То Выход Иначе Дата_старт = Дата_старт + 1 Перейти на метку ЕЩЁ ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 13:59 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
ну если без шуток, то как-то так Код: vbnet 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 14:14 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
vmag, +++ ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 14:21 |
|
Создание таблицы с диапазоном дат
|
|||
---|---|---|---|
#18+
Serega_555Как правильно написать запрос, чтобы он формировал таблицу "Календарь" с одним столбцом "Дата", а строками были даты от ДатаС по ДатаПо. Получить непрерывный ряд чисел или дат можно с помощью широко известного посетителям сайта запроса digits . Вот первоисточник Например: Код: sql 1. 2.
Запрос возвращает 1000 дат по текущую. Если в вашем запросе его связать (LEFT JOIN) с таблицей "События" и отфильтровать по диапазону дат - получите искомое. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2016, 14:28 |
|
|
start [/forum/topic.php?fid=45&msg=39344860&tid=1612993]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 350ms |
total: | 494ms |
0 / 0 |