gpt4 book ai didi

ms-access - 在 Access 查询中创建日期列表

转载 作者:行者123 更新时间:2023-12-03 07:58:27 30 4
gpt4 key购买 nike

我正在处理的 Access 中有一个 MakeTable 查询。我想让正在创建的表中的一个字段是从 1/2/2015 到 11/30/2015 按时间顺序排列的日期列表。这是如何在 Access 查询设计 View 中完成的?

最佳答案

您可以创建一个查询:

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

将此另存为 qdxNumber10
现在使用笛卡尔连接(乘法)创建查询以生成日期:

SELECT 
DateAdd("d",[qdxNumber10_0].[N]+[qdxNumber10_1].[N]*10+[qdxNumber10_2].[N]*100,#2/1/2015#) AS [Date]
FROM
qdxNumber10 AS qdxNumber10_0,
qdxNumber10 AS qdxNumber10_1,
qdxNumber10 AS qdxNumber10_2
WHERE
DateAdd("d",[qdxNumber10_0].[N]+[qdxNumber10_1].[N]*10+[qdxNumber10_2].[N]*100,#2/1/2015#) <= #11/30/2015#;

创建表时使用此作为源。

要生成当前年份的所有日期,请使用:

SELECT 
DateAdd("d",[qdxNumber10_0].[N]+[qdxNumber10_1].[N]*10+[qdxNumber10_2].[N]*100,DateSerial(Year(Date()),1,1)) AS [Date]
FROM
qdxNumber10 AS qdxNumber10_0,
qdxNumber10 AS qdxNumber10_1,
qdxNumber10 AS qdxNumber10_2
WHERE
DateAdd("d",[qdxNumber10_0].[N]+[qdxNumber10_1].[N]*10+[qdxNumber10_2].[N]*100,DateSerial(Year(Date()),1,1)) <= DateSerial(Year(Date()),12,31);

或使用 DateSerial直接地:

SELECT 
DateSerial(Year(Date()),1,1+[qdxNumber10_0].[N]+[qdxNumber10_1].[N]*10+[qdxNumber10_2].[N]*100) AS [Date]
FROM
qdxNumber10 AS qdxNumber10_0,
qdxNumber10 AS qdxNumber10_1,
qdxNumber10 AS qdxNumber10_2
WHERE
DateSerial(Year(Date()),1,1+[qdxNumber10_0].[N]+[qdxNumber10_1].[N]*10+[qdxNumber10_2].[N]*100) <= DateSerial(Year(Date()),12,31);

关于ms-access - 在 Access 查询中创建日期列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34142019/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com