【问题标题】:Have to close my query in Microsoft Access 2013 each time I want to run a form每次我想运行表单时都必须在 Microsoft Access 2013 中关闭我的查询
【发布时间】:2019-04-07 01:01:00
【问题描述】:

每次我想运行一个表单来搜索我的数据库并根据某些字段(登录名、日期等)返回结果时,如果我想更改搜索条件,我必须关闭查询。例如,如果我搜索登录名“John”,我会得到所有这些结果,但如果我想搜索“Jerry”,我必须先用数据关闭查询,然后重新运行表单。

这里面还有吗?

【问题讨论】:

  • 也许你可以用几行 VBA 代码解决你的问题。你真的使用 MySQL 作为数据库吗?如果没有,请删除 mysql 标签。
  • 我对 VBA 了解不多。有没有其他简单的方法来解决这个问题?
  • 或者如果没有办法做到这一点,我可以在表单上添加一个按钮命令来刷新查询数据吗?
  • 我不知道您的应用程序,但这似乎是一种方法。通常在单击访问表单的按钮后会执行 VBA 代码。
  • 您知道任何可以完成此操作的特定命令吗?我浏览了所有这些,无法弄清楚该使用哪个

标签: forms ms-access-2013


【解决方案1】:

--这适用于 CloseOpening 方法。

--同样适用于所有对象,不仅是查询,还适用于Form等等

要关闭查询,您可以使用以下代码。

DoCmd.Close acQuery, "Queryname", acSaveNo

为了更好地解释它,

DoCmd.Close 是一个方法

它接受以下参数。

  1. 要关闭的内容(对象类型:acQuery、acForm 等)
  2. 对象的名称(在本例中为查询名称)
  3. 关闭时要执行的操作 (acSaveYes,acSaveNo,acSavePrompt)。

记住:保存实际上是保存对象(在本例中为查询)而不是数据。 为了避免意外修改查询。我建议关闭对象而不保存(除非需要并且知道你在做什么)

acSaveYes:是在不通知的情况下保存表单。这不是保存数据,这实际上是保存对象。所以我建议不要这样做,除非您希望用户修改查询。

acSaveNo:这是关闭查询而不保存。如果您的用户只想查看数据而不修改查询,这很有用。

acSavePrompt:这只是提示是否保存对象。

快速提示:在编写查询时,如果智能感知有效,则表示您的感冒有效。

参考:https://msdn.microsoft.com/en-us/library/office/ff192860%28v=office.15%29.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-10
    • 2013-04-29
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    相关资源
    最近更新 更多