【问题标题】:Microsoft Access 2010: Update query - issue with "date/time" data typeMicrosoft Access 2010:更新查询 - “日期/时间”数据类型的问题
【发布时间】:2013-01-22 00:49:46
【问题描述】:

我无法在线找到答案,并且被以下问题难住了:我正在尝试使用更新查询将日期字段从一个表更新到另一个表。这两个字段具有相同的“日期/时间”数据类型。当我创建更新查询时,它返回空白值....下面的 SQL 代码副本

UPDATE [MIDs with comments] INNER JOIN [account status for MIDs with comments table] 
       ON [MIDs with comments].[Merchant Number] = 
          [account status for MIDs with comments table].[Merchant Number] 
SET [MIDs with comments].[Account Open Date] = 
    [account status for MIDs with comments table].[ACCT_OPEN_DT];

我不确定我在这里做错了什么,因为查询看起来很简单。当我进行常规选择查询时,它会毫无问题地返回值..

请帮忙。

【问题讨论】:

  • 格式化与数据类型不同。每个表中的数据类型是什么?您是在处理表还是查询?
  • 我正在使用 2 张桌子。这两个字段具有相同的数据类型:日期/时间。我在这里错误地使用了“格式化”这个词。对不起
  • 两个表都是 Access (Jet) 表吗?我遇到过日期在 Access 中有效但在 SQL Server 中无效的情况(如 1011 年 1 月 1 日)。
  • 嗯..不确定“jet”是什么意思 :(。但是这两个表都位于同一个 access 数据库中。我想到目前为止我在 MS Access 中很绿色。我没有使用 SQL服务器,我指的是查询的 SQL 视图。
  • 感谢大家的帮助。我不确定是什么“解决”了我的问题,但是在我使用了上面提供的即时窗口和代码之后,查询就起作用了。

标签: ms-access


【解决方案1】:

当您说您的 UPDATE 查询“返回空白值”时,我对您的意思感到困惑。 UPDATE 查询不返回空值或其他值。

如果您使用 Access 的查询设计器来构建查询,然后切换到数据表视图,则实际上并不会执行查询。要执行它,请单击“运行”图标(红色感叹号)。

如果这不是解释,我建议您保存查询,然后在“立即”窗口中尝试此操作(您可以使用 Ctrl+g 转到那里) .

DoCmd.SetWarnings True
Set db = CurrentDb()
db.Execute "Your query name here", dbFailOnError
? db.RecordsAffected

如果.Execute 行抛出错误,请告诉我们错误消息的全文。

如果没有错误,RecordsAffected 可能会为零。在这种情况下,我们需要进一步调查以确定为什么没有更新记录。

【讨论】:

  • 嗨,我想我的解释让每个人都感到困惑:D
  • 嗨,我想我的解释让每个人都感到困惑:D 我点击了“创建查询”并选择了“更新”。我放下两张桌子并加入了他们。我需要使用另一个名为“ACCT_OPEN_DT”的表中的日期来更新“帐户开立日期”字段。当我单击数据表视图时,每一行都是空白的,并且不反映来自“ACCT_OPEN_DT”的值......我尝试使用即时窗口,我没有得到任何错误,只是最后的一些记录......
  • 因此,在“立即”窗口中,您的查询运行时没有出现错误,并且您得到的 RecordsAffected 的某个数字大于零。那是对的吗?如果是这样,我不明白问题出在哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多