繁体   English   中英

Microsoft Access ADP UPDATE查询不会更新

[英]Microsoft Access ADP UPDATE Query does NOT update

我有一个(非常简单和标准)的UPDATE语句,该语句可以直接在Query Analyser中运行,或者在Query Analyser中作为存储过程执行。

UPDATE A
SET 
      A.field1 = B.col1
    , A.field2 = B.col2
FROM
       tblA AS A INNER JOIN tblB AS B 
ON A.pk1 = B.pk1 AND A.pk2 = B.pk2

问题是,当我通过Microsoft ADP执行相同的存储proc(通过双击sproc名称或使用“运行”选项)时,它说“查询成功运行,但未返回记录”,并且在我检查时不更新记录表直接。

在任何人甚至说“ MS-Access的语法不同于SQLServer T-SQL”之前,请记住,使用ADP,一切都在服务器上发生,并且实际上是通过T-SQL传递的。

来自任何ADP专家的好主意吗?

知道了 为了别人的利益回答我自己的问题。

工具/选项/高级/客户端-服务器设置/默认最大记录设置为10,000(大概是默认值)。 将此值更改为0可无限使用。

我的表有100,000多个行,很难找到它要更新的10,000组(在90,000多个未更新的行中)。 因此,更新未完全按预期工作。

尝试查看查询是否在使用SQL事件探查器的SQL Server上执行。
另外,我认为您可能需要关闭链接表并重新打开它才能查看更新的记录。

那样有用吗?

在运行SQL PRofiler的情况下运行查询。 在开始跟踪之前,请添加所有错误事件。 这将给您SQL Server生成的任何错误,表明Access ADP可能无法正确显示(或根本无法显示)。

随时在这里发布它们。

仅供参考,这是我在更新查询上写的一篇论文,讨论了与失败时有关的一些问题。

http://www.fmsinc.com/microsoftaccess/query/snytax/update-query.html

我似乎记得我总是收到“没有返回任何行”的消息,不得不关闭消息传递。 这是因为它没有返回任何行!

至于另一个-有时会有一个主键问题。 被更新的表在SQLServer中是否具有主键? 如果是这样,请在Access中检查表的视图-有时该链接无法通过。 已经有一段时间了,所以我可能是错的,但是我认为您可能需要在访问时查看表的设计视图,然后在其中添加主键。

编辑:额外的想法:在调试中,尝试抛出打印语句以查看输入的值是什么。 从访问执行时,它实际上是否如您期望的那样从表中拾取数据?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM