SQL查询和MS Access查询返回不同的数据

时间:2010-04-21 15:33:43

标签: sql sql-server ms-access

我使用MS Access作为MS SQL服务器的前端。

当我在ms Access中使用SQL查询(在我看来)相当于我从SQL服务器运行的查询时,Access返回不同的数据。下面的图片说明了不同之处。我使用Access 2003,并通过ODBC将Access表连接到SQL服务器(2008)。

有人知道如何解决这个问题吗?

提前致谢

/ Iljitj

SQL和Access查询和结果:

(这是不同的“Projekt”专栏)

http://i.imagehost.org/0218/SQL_access_query_and_result.jpg

4 个答案:

答案 0 :(得分:3)

好的,我解决了这个问题。如果没有唯一标识符,Apperently将不会执行任何操作。由于我在表中没有这个,因此Access使用CVRnr作为标识符,但由于它不是唯一的,因此Access仅拉出第一行并将其公开,因此“不正确”的数据。

我添加了唯一标识符,并将其正确链接到Access,现在可以正常使用。

非常感谢你们所有的帮助和建议,我认为如果你们有些人没有提出建议,我不会想出原因是标识符。

你救了我;)

答案 1 :(得分:2)

重新创建Access链接表。有时Access内部定义会变坏,特别是当链接服务器数据结构发生一些变化时,表/列会被重新创建/更改或类似。

BTW,Access本身肯定不错,只是它用于简单的桌面“数据库”。它有许多限制和一些怪癖,但它非常实用。

答案 2 :(得分:1)

我会停止使用Access。它看起来很破碎。首先,让我们找出正在使用的select语句访问。

在SSMS(SQL Server Management Studio)中转到工具 - > SQL Server Profiler。

附加到同一数据库,然后查看Access正在执行的操作。档案 - >新 - >连接 - >运行

答案 3 :(得分:1)

好的,我看到了几件事......

  1. 您是否在MS SQL上为表设置了主键?这可能会让MS Access感到困惑。
  2. 布尔列确实有不同的值,但我认为这是因为MS Access喜欢以不同于MS SQL的方式表示它们。你将不得不忍受。