【发布时间】:2015-05-16 17:04:13
【问题描述】:
我们的办公室仍然使用 foxpro(dos 版本)来存储我们的流程数据。我需要使用 foxpro 中可用的数据开发大量报告。我将 foxpro 表链接到访问数据库,并想开发一些可以给我各种报告的查询。
基本上这些数据是生产数据,包括生产日期、等级、产品尺寸(如厚度、宽度、长度、重量等)。
我在这个链接表上尝试了以下查询
SELECT (smsslabs.dtp-day(smsslabs.dtp)+1) AS [Month], sum(smsslabs.wt) AS Weight, sum(IIf(smsslabs.dtofgrind<>0,1,0)) AS no_slabs_ground
FROM smsslabs
GROUP BY (smsslabs.dtp-day(smsslabs.dtp)+1);
这里,dtp 是生产日期,wt 是产品重量。我面临的问题是每次运行此查询时,每次运行此查询时都会得到不同的结果。当我将链接表转换为本地表时,我得到了一致的结果和正确的结果。但我不想在生成报告之前一次又一次地进行链接和转换为本地表。
请帮助我通过链接表获得一致和正确的结果,以便我可以进行一些更详细的查询以供非技术人员使用。
【问题讨论】:
-
嗯,数据是否在不断变化?如果是这样,那么您可能会一直从实时表中获得不同的结果。本地表是一个缓存快照,因此将始终返回相同的数据。
-
感谢艾伦 B 的关注。数据不断变化,但频率太长。它可以在大约 6 小时内更换一次。因此,源数据的变化并不是导致不同结果的原因。
-
我找到了解决方案。当我在链接表格时禁用“背景”选项时,这个问题就消失了。现在我用相同的查询得到一致的结果。谢谢大家。
标签: ms-access-2007 foxpro linked-tables