使用vba从Microsoft Access数据库中获取最新数据

时间:2014-11-10 15:17:51

标签: vba excel-vba ms-access excel

我有一个问题,我希望你们可以帮助我。我想首先说我是处理数据库的新手,所以请耐心等待这一点。

我需要从包含来自不同.csv文件的注册字段的Microsoft Access数据库(.accdb格式)中获取数据。每次更新csv文件并将其插入数据库中的表data_table时,时间戳记录在字段TIME_STAMP中:

DATE_FLD    FETCH_DATE  TIME_STAMP          LAST_UPDATE  VAL_1  VAL_2 ...
11/10/2014  11/10/2014  11/10/2014 14:23:14 0.599        7355   212
11/10/2014  11/10/2014  11/10/2014 15:23:57 0.640        7355   461

由于csv数据包含预测数据,FETCH_DATE表示实际记录数据的日期,DATE_FLD是该特定日期的预测值。列LAST_UPDATE只是FETCH_DATETIME_STAMP之间的差异。在VBA中使用诸如SELECT之类的sql代码,我成功地从数据库中获取特定字段(或整个行)。我目前面临的问题是从指定的FETCH_DATE的表格中获取最新数据

因此,如果我想了解2014-11-10的预测数据的最新更新,截至2014-11-10,我希望以风格打电话,

SELECT *
FROM data_table
WHERE FETCH_DATE=11/10/2014 AND DATE_FLD=11/10/2014 AND MAX(LAST_UPDATE)

最后一部分MAX(LAST_UPDATE)将导致在上面的示例中获取第二行,因为该行根据字段TIME_STAMP具有最新的时间戳记录。

由于我刚刚开始构建数据库,我可以以更聪明的方式重新构建数据库,如果有人比我想要的更好,可能不会使用LAST_UPDATE部分这里...

非常感谢,

/ N

0 个答案:

没有答案