生成跨多列的唯一日期列表

时间:2014-03-16 15:31:19

标签: access-vba ms-access-2010

我会详细解释所以我很清楚我想要做什么。我最后的问题是,如果有更简单的方法可以做到这一点。

我需要创建一个列表,列出6个不同日期字段(列)中列出的所有不同日期。日期发生的次数无关紧要,我只需要确定那个日期发生的事情。

要执行此操作,请运行六个不同的查询,这些查询将转到每个列并将结果分组并将其粘贴到保留表中的另一列。在将所有六个字段全部粘贴到相同的holidng表之后执行此操作后,我将获取保留表并对结果进行分组以获得发生的每个日期的完整列表。

我想知道是否有更简单的方法来执行此操作或某种类型的VBA功能,它会调查六列并生成所遇到的所有项目的详尽列表。

希望我的解释不会太混乱。 甲

1 个答案:

答案 0 :(得分:2)

如果您有一个名为[MyTable]的表格,其中包含六(6)个Date/Time字段......

ID  DateA       DateB       DateC       DateD       DateE       DateF     
--  ----------  ----------  ----------  ----------  ----------  ----------
 1  2014-01-01  2014-01-02  2014-01-03  2014-01-04  2014-01-05  2014-01-06
 2  2014-01-02  2014-01-03  2014-01-04  2014-01-05  2014-01-06  2014-01-07

...然后您可以使用简单的UNION查询从所有六个字段中获取唯一日期列表

SELECT DateA AS DateValue FROM MyTable
UNION
SELECT DateB AS DateValue FROM MyTable
UNION
SELECT DateC AS DateValue FROM MyTable
UNION
SELECT DateD AS DateValue FROM MyTable
UNION
SELECT DateE AS DateValue FROM MyTable
UNION
SELECT DateF AS DateValue FROM MyTable

返回

DateValue 
----------
2014-01-01
2014-01-02
2014-01-03
2014-01-04
2014-01-05
2014-01-06
2014-01-07