【问题标题】:Date criteria in MS Access 365 failingMS Access 365 中的日期标准失败
【发布时间】:2020-07-23 09:11:02
【问题描述】:

我刚刚升级到 Office 365,但在处理一些非常基本的 Access 查询时遇到了问题。

我有一个通过 ODBC 连接到远程 Oracle 数据库的本地数据库。连接工作正常;我可以打开表格并查看数据,或者运行选择查询。但我有一个更新查询,它依赖于失败并出现错误的日期标准:

[Oracle][ODBC] 语法错误或访问冲突 (#0)

UPDATE localtable 
INNER JOIN remotetable AS remotetable_DSN 
ON localtable.[Cust ID] = remotetable.[Cust ID] 
SET localtable.[Status] = "Valid"
WHERE remotetable.status ="Valid" 
AND remotetable.end_date =#12/31/9999# <-- if I remove this line, it runs fine

我的同事有类似的查询,在 Access 365 上运行正常。他的查询在我的 PC 上的行为方式相同:日期条件导致查询失败,删除日期允许查询运行。

我在想我一定有一些设置导致了这种情况,但我不知道它可能是什么。

还有其他人看过吗?

【问题讨论】:

    标签: sql oracle date ms-access


    【解决方案1】:

    我认为这不是 Date 问题。

    如果你定义了一个表别名remotetable AS remotetable_DSN,你必须使用它。或者干脆删除 AS remotetable_DSN 部分,您的代码应该可以工作。

    【讨论】:

    • 我不这么认为。这个查询是在查询设计器中创建的,当我在 SQL 视图中查看时不知怎么弄得一团糟。实际查询:UPDATE localtable INNER JOIN remotetable ON localtable.[Cust_ID] = remotetable.Cust_ID SET localtable.[Status] = "Valid" WHERE remotetable.Status="Valid" AND remotetable.end_dt=#12/31/9999#它已经完美运行了两年,如果我删除日期条件,它会继续工作。
    • 不,也不是这样。此代码使用相同版本和相同 ODBC 驱动程序在同事的计算机上完美运行。他的查询在我的机器上失败了,所以我很确定这是我的设置所特有的,但我不知道它是什么。
    猜你喜欢
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2021-11-11
    • 2023-03-11
    相关资源
    最近更新 更多