首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Access中查找特定日期之前的最新条目

如何在Access中查找特定日期之前的最新条目
EN

Stack Overflow用户
提问于 2016-02-03 17:43:52
回答 2查看 49关注 0票数 0

我有一个从银行网站下载的汇率表。银行只提供工作日的汇率,我想创建一个表,捕获一月份的每一天的汇率。因此,例如,1月10日的汇率应该与1月8日的汇率相同,因为10号是周末,8号是最近的工作日。

如何在Access中创建一个查询,该查询将创建一个新表,其中包含31行(1月份每天1行)和正确的FX汇率?

源数据表示例如下:

代码语言:javascript
复制
Date        Currency    rate    
1/01/2016   USD/AUD     0.73    
4/01/2016   USD/AUD     0.72    
5/01/2016   USD/AUD     0.72    
6/01/2016   USD/AUD     0.71    
7/01/2016   USD/AUD     0.70    
8/01/2016   USD/AUD     0.70    
11/01/2016  USD/AUD     0.70    
EN

回答 2

Stack Overflow用户

发布于 2016-02-03 19:19:02

我不认为在Access中仅通过查询就可以做到这一点。您可以通过创建一个包含一月份所有日期的表来解决此问题。如果您在该表中添加第二个日期字段,其中包含星期六和星期日的星期五的日期,则可以轻松地将这两个表连接起来,从而产生您想要的结果(当然,不需要承认其他银行假日)。

如果您也想这样做,我建议使用下面这样的查询来用所有日期填充表中的第二个日期字段:

代码语言:javascript
复制
UPDATE Days SET LinkDate = (SELECT MAX(Date) FROM [FX Rate] WHERE [FX Rate].Date <= Days.Date);
票数 0
EN

Stack Overflow用户

发布于 2016-02-03 22:33:07

您可以使用DLookup:

代码语言:javascript
复制
SELECT 
    DateAdd("d", [Ten].[N]+10*[Ten_1].[N], #1/1/2016#) AS [Date], 
    DLookUp("rate", "FxTable", "[Date] = (Select Max([Date]) From FxTable Where FxTable.Date <= #" & Format(DateAdd("d", [Ten].[N]+10*[Ten_1].[N], #1/1/2016#), "yyyy\/mm\/dd") & "#)") AS DailyRate
FROM 
    Ten, 
    Ten AS Ten_1
WHERE 
    DateAdd("d",[Ten].[N]+10*[Ten_1].[N],#1/1/2016#) < #2/1/2016#);

当月:

代码语言:javascript
复制
SELECT 
    DateSerial(Year(Date()), Month(Date()), [Ten].[N] + 10 * [Ten_1].[N] + 1) AS [Date], 
    DLookUp("rate", "FxTable", "[Date] = (Select Max([Date]) From FxTable Where FxTable.Date <= #" & Format(DateSerial(Year(Date()), Month(Date()), [Ten].[N] + 10 * [Ten_1].[N] + 1), "yyyy\/mm\/dd") & "#)") AS DailyRate
FROM 
    Ten, 
    Ten AS Ten_1
WHERE 
    DateSerial(Year(Date()), Month(Date()), [Ten].[N] + 10 * [Ten_1].[N] + 1) < DateSerial(Year(Date()), Month(Date()) + 1, 1);

查询Ten是一个保存的查询:

代码语言:javascript
复制
SELECT DISTINCT 
    Abs([id] Mod 10) AS N
FROM 
    MsysObjects;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35173403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档