在我继承的Microsoft Access数据库中,我有一个名为frm_LabList的表单。记录源是Select语句。我将表单重命名为frmLabour,一切都继续正常运行。
今天,我发现MSysObjects中有一条记录仍然保留了引用旧表单名称的Select语句。还有一条记录保存了引用新表单名称的Select语句。
两个问题:
我已经压缩并修复了,但孤立的记录仍然存在。
答案 0 :(得分:0)
这是通常的行为。
第一个问题:不,我已经注意到了很多(查询名称往往以~sq_f
开头,并引用您的表单的旧版本)。我不认为它占用的存储空间是相关的。在编制所有查询列表时,我倾向于编写代码以不显示这些代码,但从未对它们产生任何进一步的问题
第二个问题:是的,使用一些简单的VBA,您可以删除这些。只需通过即时窗口执行以下行:CurrentDb.QueryDefs.Delete "~sq_ffrm_LabList"
。
请注意,删除普通表单后面的查询时,只要表单打开就会重新创建。
以下代码删除所有表单查询,运行后自担风险!(运行后我自己没有注意到任何问题,据我所知,SQL存储在{{1在Form.Recordsource
属性上使用查询构建器时,查询对象仍然存储诸如布局之类的东西)
Form.Recordsource