【问题标题】:Access mdb not giving correct result访问 mdb 没有给出正确的结果
【发布时间】: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 的记录(正确结果)。从访问端我尝试通过链接表管理器刷新计划(链接表),也尝试了紧凑和修复选项,但无法正常工作。提前致谢

标签: ms-access odbc oracle11g


【解决方案1】:

PLANreserved word。使用保留字作为表名或列名会混淆数据库引擎。尽管这实际上可能不是您的麻烦的根源,但很容易将其排除为贡献者。看看你是否得到了这个查询所期望的结果:

SELECT *
FROM [PLAN] AS p
WHERE p.BATCH_REF="SSU080520122"; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-01
    • 2015-11-12
    相关资源
    最近更新 更多