Создание таблицы с заданным диапазоном ввода данных пользователем (даты), затем добавление 24H (столбец 2) к каждой дате - PullRequest
0 голосов
/ 10 октября 2010

Я спрашивал об этом раньше, но, думаю, сформулировал это плохо или, возможно, недостаточно четко.Я довольно плохо знаком с Access и SQL, но я довольно хорошо разбираюсь в компьютерах.Я прочитал несколько книг / веб-сайтов по Access / SQL, но я нахожу эту проблему немного сложной.Это было бы намного проще, если бы это был простой диапазон SELECT, но сценарий хочет, чтобы я сгенерировал таблицу из диапазона дат (подсказки окна), а затем прикрепил 0-23 к каждой дате.Он повторяет одну и ту же дату для каждого связанного с ним часа.

Я довольно потерян в создании добавочных дат, не говоря уже о прикреплении часов.

Пример вывода с заданным примером ввода 01.01.2009, 7/30/2009

Использование MS Access 2007

Column 1 (Date)   Column 2 (Hour) 

01/01/2009           0

01/01/2009           1

01/01/2009           2

01/01/2009           3

01/01/2009           4

01/01/2009           ... continues to 23

01/01/2009           22

01/01/2009           23

01/02/2009           0

01/02/2009           1

01/02/2009           2

01/02/2009           3

01/02/2009           4

01/02/2009           .. continues to 23

01/02/2009           0

01/02/2009           1

.................................. continues until the end date supplied by the user

07/30/2009           22

07/30/2009           23

1 Ответ

0 голосов
/ 14 октября 2010

Вот что я хотел бы сделать.

Я бы создал таблицу дат - проще всего было бы выполнить в Excel автоматическое заполнение дат на любое количество лет, а затем скопировать его в свою таблицу.Таблица должна иметь идентификатор и дату.Например:

ID        Date
==========================
1         2010-01-01
2         2010-01-02
....

Я бы также создал таблицу часов - снова с идентификатором и столбцом часов (целое число).

ID        Hour
=======================
1         0
2         1
...........

Затем создайте запрос.Если вы используете представление конструктора, добавьте две новые таблицы.Добавьте столбец даты и столбец часов.В поле «Критерии» для поля даты укажите «Между [StartDate] и [EndDate]».Укажите, что столбец даты и час должны сортироваться по возрастанию.Измените его на запрос Make Table и запустите его.Вам будет предложено указать дату начала и дату окончания.Это должно сделать это!

Вот сгенерированный SQL, если это поможет:

SELECT Dates.ShortDate, Hours.Hour INTO DatesHours
FROM Dates, Hours
WHERE (((Dates.ShortDate) Between [StartDate] And [EndDate]))
ORDER BY Dates.ShortDate, Hours.Hour;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...