我有一个查询,在这个查询中,我使用一个in语句来提取日期范围的数据。我构建了一个VBA函数,它将计算表中的最后一个日期(最大日期)(获取中间的第一个日期)和另一个函数来计算停止日期(中间日期的最后一个日期),...So语句如下所示:在hhMaxDte()和hhLastDte()之间
出于某种原因,在中间语句中使用这两个函数运行查询所需的时间似乎比手动将实际日期放入自己的时间长8倍。有谁知道这是为什么,以及我如何动态地执行类似的过程,但是运行查询所花费的时间与手动输入日期的时间相同吗?我的函数代码如下:
Function hhMaxDte()
If DMax("row_date", "HH_CIB_Raw_Data") + 1 = Date Then
hhMaxDte = 0
Else
hhMaxDte = DMax("row_date", "HH_CIB_Raw_Data") + 1
End If
End Function
Function hhLastDte()
If DMax("row_date", "HH_CIB_Raw_Data") + 1 = Date Then
hhLastDte = 0
Else
hhLastDte = Date - 1
End If
End Function发布于 2015-11-04 18:02:22
我已经根据上述评论中的反馈找出了答案。该函数正在为每一行数据运行,因此大大减慢了结果的返回速度。为了避免这种情况,我使用内置的函数Dmax (分析表中的最大索引日期)和date在Access查询条件部分中创建一个间隔语句:
Between DMax("row_date","HH_CIB_Raw_Data")+0 And Date()-1现在,附加查询能够根据表中缺少的最近日期动态地提取数据,并在几秒钟和2-3分钟的时间内运行。感谢所有的投入!!
https://stackoverflow.com/questions/33502660
复制相似问题