首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“运行时错误3167:记录被删除”时,取消检查多选择列表框中的选择

“运行时错误3167:记录被删除”时,取消检查多选择列表框中的选择
EN

Stack Overflow用户
提问于 2014-12-16 19:00:48
回答 1查看 3.8K关注 0票数 0

我有一个包含多选择列表框的表单,用户可以根据需要选择多少项,然后点击“保存”按钮,保存表单字段,并在各自的表中选择选中的选项。

所有操作都很好,直到用户取消检查以前保存的选择。

我尝试过几种方法,包括刷新表单和记录集,但都没有效果。

在测试寻找解决方案时,我注释掉了绑定到表单的“保存”按钮上的每一行VBA代码。单击此按钮时,代码注释掉显然不会发生任何事情,但是如果我尝试用窗口的"x“按钮关闭表单,则会得到一个消息框,说明”记录已被删除“。

我不知道从哪里看这个问题,我试着压缩和修复数据库,结果也是负面的。

我没有代码要发布,因为不管我试图运行什么代码,我得到了错误,一个完全空的子仍然给我错误。

同样,只有当用户取消选中以前已被选中的选择时,才会发生这种情况。

下面是表单的屏幕截图:

红色的列表框是罪魁祸首。

用户可以编辑表单上的每个字段,一切正常,用户甚至可以通过选中关闭项从列表框中“添加”选择,并保存它们,并在下次查看记录时显示它们。

当用户取消选中以前选中的选项之一时,就会出现此问题。

列表框的详细信息:

  • 它是一个由使用listbox向导创建的“查找”填充的多选择列表框。
  • 选定的值作为逗号分隔列表保存在字段中。
  • 字段本身是另一个表的查找,它允许多个值。

在这一点上,我甚至不确定我是否正确地解释自己,我已经走了这么远的“兔子洞”!

如果需要澄清说明,请询问。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-17 20:44:33

下面描述了我的实现,我认为您正在尝试,但可能有一些变化。关键是我能够定期地复制你的“删除记录”错误,但最终还是停止了。

  1. 我创建了一个名为“res_area”的表,其中包含一个ID字段和一个“区域”。我填充了“1E、1F、1I、1J、3C、3D、3E、3F、3I、3J、3K等行”
  2. 我用表单上显示的所有字段创建了表'res_tow‘。我包括了一个名为'area‘的字段,它是一个具有以下源代码的查找字段:“按区域选择res_Area.TTID,res_Area.Area从res_Area ORDER;”允许多个值=是。
  3. 我用记录源创建了表单“frmEditTow”: 选择res_Tow.TowID、res_Tow.TCompany、res_Tow.TPhone1、res_Tow.TPhone2、res_Tow.TPhone3、res_Tow.TType、res_Tow.TTown、res_Tow.TAddress、res_Tow.TFileName、res_Tow.TComments、res_Tow.TChecks、res_Tow.area;
  4. 我在“DoCmd.RunCommand acCmdSaveRecord”和“Me.Requery”中添加了带有代码的“保存记录”按钮
  5. 我可以添加或删除任何组合的列表项目,并保存更改。

至于它的价值,我认为我的表单行源的早期版本包括了字段'area‘和'area.value’。这样,表单记录计数就会反映所选列表框项的总数,而不是表“res_Tow”中的行数。

祝好运!

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

https://stackoverflow.com/questions/27511982

复制
相关文章

相似问题

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