索引日期字段上的子句返回MS Access中的错误记录

时间:2012-01-13 22:09:51

标签: sql ms-access odbc

我有一个AcuXDBC服务器,它提供对某些COBOL数据库的ODBC访问。我不控制数据库,也不控制表的配置。

一个特定的表,如果我使用SQL Server查询带有WHERE子句的表来指定特定日期,我会得到预期的结果。但是,如果我使用MS Access在日期列上查询同一个表,则Access将返回每个记录,而不仅仅是具有该日期的记录。

此表中的其他日期列正常工作。我看到的唯一区别是这个特定的日期列有一个允许重复的索引。然而,有效的列上没有任何索引。

我不明白为什么索引的存在会导致选择失败。

在访问中,以下查询按预期工作:

SELECT PUBLIC_ODH2DB.ORDER_NUMBER, PUBLIC_ODH2DB.POST_DATE, PUBLIC_ODH2DB.ENTRY_DATE
FROM PUBLIC_ODH2DB
WHERE (((PUBLIC_ODH2DB.ENTRY_DATE)=#2/3/2012#));

但是这个没有:

SELECT PUBLIC_ODH2DB.ORDER_NUMBER, PUBLIC_ODH2DB.POST_DATE, PUBLIC_ODH2DB.ENTRY_DATE
FROM PUBLIC_ODH2DB
WHERE (((PUBLIC_ODH2DB.POST_DATE)=#2/3/2012#));

Entry_Date和Post_Date都在COBOL中定义为Date,但看起来像DateTime到ODBC。我看到的唯一区别是Access报告Post_date被索引(Dups OK)。

0 个答案:

没有答案