首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ms-access:如何进行适当的重复查询?

ms-access:如何进行适当的重复查询?
EN

Stack Overflow用户
提问于 2010-10-22 05:08:25
回答 2查看 2.6K关注 0票数 0

我正在分发ms-access-2007前端。后端是sql server。用户点击一个按钮,它将从sql server2008数据库返回一个查询。

如果用户再次单击该按钮,是否可以重新查询此查询?

通常,access的行为是,如果您再次查询它,它会显示旧的结果。如何使其刷新结果?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-22 08:56:46

如果您知道查询仍然是ActiveDatasheet,请重新查询:

代码语言:javascript
复制
  Screen.ActiveDatasheet.Requery

如果您不知道这一点(您可以检查Screen.ActiveDatasheet.Name),您可以再次打开它(如果查询已经打开,那么可能会重新查询,也可能不会重新查询--我希望它不会重新查询,但我可能错了),然后它将是ActiveDatasheet,您可以重新查询它。

或者,您可以这样做:

代码语言:javascript
复制
  DoCmd.SelectObject acQuery, "NameOfYourQuery"
  Screen.ActiveDatasheet.Requery

当然,这些方法中的一个或多个将会起作用。

但我要指出的是,将表和查询用作用户界面对象并不是一个好主意。相反,您应该使表单允许用户与其中显示的数据进行交互,因为这使您可以对它们进行更多的控制。

(许多人不知道的一件事是数据表是一个表单对象,因此Screen.ActiveDatasheet的属性和方法与任何表单的属性和方法都是相同的,这意味着您实际上可以为Screen.ActiveDatasheet对象上的事件赋值并触发它们;但我不建议将其作为构建UI的最简单方法……)

票数 2
EN

Stack Overflow用户

发布于 2010-10-22 05:30:06

如果您的数据所在的表单与链接到Sql Server的Access表或查询绑定在一起,则可以使用form.requery。

如果再次查询,将显示旧的results

我不同意你上面的说法。如果重新打开表单或查询,将始终获得最新的值。刷新时,会将这些记录更新为最新值,但会忽略新记录。重新查询将完全重新填充表单/记录集。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3991948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档