【发布时间】:2013-07-08 18:44:14
【问题描述】:
我有一个来自“Crew”的子组件,其中包含名为 CrewName、KitNumber 和 ActionDate 的 3 个字段文本框。此表单使用来自按钮的数据填充。我想要做的是让用户输入一个数字,在 Crew 子表单之外的这个名为“ClearEntry”的未绑定文本字段中输入“111111”。然后,我在名为“ClearSelected”的下方有一个命令按钮,单击该按钮时,将清除 Crew 子表单中的相应记录。所以基本上我想在这个未绑定的文本中输入文本,点击按钮,让那个数字与 Crew Subform 中的相同数字对应,然后删除该表单中的记录。我现在拥有的命令按钮代码如下。
Private Sub ClearSelected_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL = "DELETE FROM Crew WHERE KitNumber = '" & Me.ClearEntry & "'"
Crew.Form.Requery
End Sub
这个可以吗?
【问题讨论】:
-
你的代码在做你想做的事吗?如果不是,当您将
SetWarnings从关闭更改为打开时会发生什么? (DoCmd.SetWarnings True) -
@HansUp,我的代码没有做我想做的事。更改 SetWarnings 只会让我知道我何时选择删除记录。点击命令按钮时遇到的问题是我有一个“参数不是可选的”,它在调试器中突出显示 .ClearEntry
-
这是很好的信息,谢谢。如果表单模块包含一个也称为
ClearEntry的过程(子例程或函数),则可能会发生这种情况。将文本框的名称更改为txtClearEntry并修改RunSQL以匹配 ---Me.txtClearEntry。现在会发生什么(SetWarnings仍然是True)? -
如果您有两个名为
Crew的表单对象,您可能会遇到问题。您的查询指示具有该名称的表,并且您说存在具有该名称的表单。 -
我很欣赏 HansUp 的建议,但仍然想提出一些通用的解决问题的建议:让这个查询作为一个简单的查询运行,而不是 VBA。一旦你确信你可以做到这一点,就升级到 VBA 实现并在该级别进行故障排除。