MS Access - MSys对象具有用于重命名表单的孤立查询SQL

时间:2017-08-21 14:26:11

标签: ms-access

在我继承的Microsoft Access数据库中,我有一个名为frm_LabList的表单。记录源是Select语句。我将表单重命名为frmLabour,一切都继续正常运行。

今天,我发现MSysObjects中有一条记录仍然保留了引用旧表单名称的Select语句。还有一条记录保存了引用新表单名称的Select语句。

两个问题:

  1. MSysObjects中的这个孤立查询记录会导致问题吗?
  2. 有没有办法清除这些孤立的记录?
  3. 我已经压缩并修复了,但孤立的记录仍然存在。

1 个答案:

答案 0 :(得分:0)

这是通常的行为。

第一个问题:不,我已经注意到了很多(查询名称往往以~sq_f开头,并引用您的表单的旧版本)。我不认为它占用的存储空间是相关的。在编制所有查询列表时,我倾向于编写代码以不显示这些代码,但从未对它们产生任何进一步的问题

第二个问题:是的,使用一些简单的VBA,您可以删除这些。只需通过即时窗口执行以下行:CurrentDb.QueryDefs.Delete "~sq_ffrm_LabList"

请注意,删除普通表单后面的查询时,只要表单打开就会重新创建。

以下代码删除所有表单查询,运行后自担风险!(运行后我自己没有注意到任何问题,据我所知,SQL存储在{{1在Form.Recordsource属性上使用查询构建器时,查询对象仍然存储诸如布局之类的东西)

Form.Recordsource