gpt4 book ai didi

sql - Microsoft Access 查询返回序号

转载 作者:行者123 更新时间:2023-12-04 21:57:54 25 4
gpt4 key购买 nike

有什么方法可以在 MS Access 中创建返回我选择的序列号的查询吗?例如

10.1
10.2
10.3
10.4
10.5

100
90
80
70
60
50
40
30
20

2015-04-10 12:00
2015-04-10 13:00
2015-04-10 14:00
2015-04-10 15:00
2015-04-10 16:00
2015-04-10 17:00
2015-04-10 18:00

我可以使用 VBA 使用这些值创建临时表。我还可以创建自己的 VBA 函数,并将其放入查询中。问题是:使用纯 MS Access 查询是否可行?如果没有,最简单、最快的方法是什么?

编辑:我不必避免使用 VBA,我只想找到简短、干净、高效的代码。

最佳答案

您可以使用一个简单的笛卡尔查询,该查询具有一个包含 0 到 9 之间数字的表:

SELECT 
t1.Number +
t2.Number * 10 +
t3.Number * 100 +
t4.Number * 1000 As Factor
FROM
tblNumber AS t1,
tblNumber AS t2,
tblNumber AS t3,
tblNumber AS t4

或者 - 如果您只需要小系列 - 只需一张包含 0 到 99 之间数字的表格。

然后对于您的 sample :

SELECT 
10 + 0.1 * [Number] AS [Value]
FROM
tblNumber
WHERE
[Number] Between 1 And 5

和:

SELECT 
[Number] * 10 AS [Value]
FROM
tblNumber
WHERE
[Number] Between 2 And 10
ORDER BY
[Number] * 10 Desc

和:

SELECT 
DateAdd("h", [Number], #2015-04-10 12:00 PM#) AS [Date]
FROM
tblNumber
WHERE
[Number] Between 0 And 6

附录

通过使用系统表作为源,也可以在没有专用数字表的情况下构建数字序列:

SELECT DISTINCT 
[Tens]+[Ones] AS Factor,
10*Abs([Deca].[id] Mod 10) AS Tens,
Abs([Uno].[id] Mod 10) AS Ones
FROM
msysobjects AS Uno,
msysobjects AS Deca;

关于sql - Microsoft Access 查询返回序号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411142/

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