Создать диапазон дат в базе данных / Microsoft Access - PullRequest
0 голосов
/ 14 марта 2020

В Excel я могу создать диапазон дат, перетаскивая правый угол.

Как создать диапазон дат в Microsoft Access / базах данных в целом?

Например, Я мог бы захотеть создать все даты в 2020 году в Microsoft Access, не вводя их вручную.

Excel Single Date

Excel Single Date

Excel Перетащите для диапазона дат

Excel Drag and Drop for Date Range

1 Ответ

0 голосов
/ 14 марта 2020

Вы можете использовать декартовой (умножающий) запрос.

Сначала получите крошечный запрос, который возвращает 10 записей. Сохраните его как Десять :

SELECT DISTINCT 
    Abs([id] Mod 10) AS N
FROM 
    MSysObjects;

Затем используйте это, чтобы сгенерировать даты года:

PARAMETERS 
    [Year] Short;
SELECT 
    DateSerial(IIf([Year] Between 100 And 9999,[Year],Year(Date())),1,1+[Ten_0].[N]+[Ten_1].[N]*10+[Ten_2].[N]*100) AS [Date]
FROM 
    Ten AS Ten_0, 
    Ten AS Ten_1, 
    Ten AS Ten_2
WHERE 
    ((([Ten_0].[N]+[Ten_1].[N]*10+[Ten_2].[N]*100)<=DateDiff("d",DateSerial(IIf([Year] Between 100 And 9999,[Year],Year(Date())),1,1),DateSerial(IIf([Year] Between 100 And 9999,[Year],Year(Date())),12,31))))
ORDER BY 
    DateSerial(IIf([Year] Between 100 And 9999,[Year],Year(Date())),1,1+[Ten_0].[N]+[Ten_1].[N]*10+[Ten_2].[N]*100);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...