访问 mdb 没有给出正确的结果
Posted
技术标签:
【中文标题】访问 mdb 没有给出正确的结果【英文标题】:Access mdb not giving correct result 【发布时间】:2012-06-12 08:42:52 【问题描述】:我使用 Access(2003) mdb 文件作为 oracle 11g R2 的前端作为后端。我正在使用 odbc 连接从 oracle 数据库中检索数据。但有时 mdb 显示不正确的输出。
例如,当我在 mdb 中使用以下查询时
SELECT *
FROM PLAN
WHERE (((PLAN.BATCH_REF)="SSU080520122"));
它提供了错误的结果。但同样的查询在 oracle 中提供了正确的结果。
任何帮助将不胜感激。
【问题讨论】:
“错误”结果和“正确”结果有什么区别?您的问题过于含糊不清,我们无法为您提供有意义的帮助。 请提供一个完整的例子:表格、数据、select语句、预期结果和实际结果。 您的数据库中有名为 SSU080520122 的列吗?哎哟。 如何运行该查询? VBA 中的 dao 记录集?已保存的访问查询?直通查询? 下面是详细场景-我有一个名为 PLAN 的表,其中有 30 列,BATCH_REF 是其中一列,我正在尝试检索具有 BATCH_REF=SU080520122 的记录。但它显示具有 BATCH_REF= SSP030520121 的记录(不正确)。如果我在 oracle 中执行相同的查询(从计划中选择 *,其中 BATCH_REF= 'SSU080520122')显示具有 BATCH_REF= SSU080520122 的记录(正确结果)。从访问端我尝试通过链接表管理器刷新计划(链接表),也尝试了紧凑和修复选项,但无法正常工作。提前致谢 【参考方案1】:PLAN
是 reserved word。使用保留字作为表名或列名会混淆数据库引擎。尽管这实际上可能不是您的麻烦的根源,但很容易将其排除为贡献者。看看你是否得到了这个查询所期望的结果:
SELECT *
FROM [PLAN] AS p
WHERE p.BATCH_REF="SSU080520122";
【讨论】:
以上是关于访问 mdb 没有给出正确的结果的主要内容,如果未能解决你的问题,请参考以下文章
应用程序访问共享文件夹上的 mdb 文件,而客户端上没有 ms 访问权限
VBScript和Access MDB - 800A0E7A - “无法找到提供商。它可能没有正确安装“
使用 Microsoft Excel VBA 仅查询访问 accdb 文件时,“MSysObjects”没有读取权限(错误编号:-2147217911) - mdb 工作正常