【问题标题】:MS Access Error '2110' Can't move the focus to the controlMS Access 错误“2110”无法将焦点移至控件
【发布时间】:2017-03-30 11:19:38
【问题描述】:

我是使用 MS Access 2016 的初学者。 我在表单上有一个保存按钮,它会在最后一刻进行输入验证,这对最终用户来说非常直接和有帮助。当他们单击保存按钮时,我正在使用一系列文本框来逐步完成验证,这样他们就可以完成整个表单,如果出现错误,它将直接将它们带到错误的那个字段。

我的代码似乎可以工作, 它检测到错误, 将焦点设置为 text179, 看到 JobNo 字段中有错误, 给出一条消息“请输入一个 5 位数的工作编号”和 将焦点设置为 JobNo。 然后,只有到那时,我才会收到第二个提示,说有错误。 但是为什么它说它不能将焦点设置到 text179 ,而它显然已经这样做了并且不应该再尝试呢?

这是我的代码: Private Sub SaveRecord_GotFocus() If Me.JobNo & "" Like "#####" And Me.ItemNo & "" <> "" Then Exit Sub Else Me.Text179.SetFocus End If End Sub Private Sub Text179_GotFocus() If Me.JobNo & "" Like "#####" Then Me.Text181.SetFocus Exit Sub Else MsgBox "Please enter a 5 digit Job Number", vbOKOnly Cancel = True Me.JobNo.SetFocus Exit Sub End If End Sub

错误: 运行时错误“2110”: Microsoft Access 无法将焦点移到控件 Text179。

如果需要任何其他信息,请告诉我。

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    我能够用一种更简洁的方法解决这个问题,只使用 VB 代码而不尝试使用 setfocus。因为我是 Access/VB 的新手,所以我花了一段时间才弄清楚如何正确嵌套我的 if 语句。我将在下面发布代码。

    Private Sub SaveRecord_GotFocus() If Me.JobNo & "" Like "#####" Then GoTo Eval_ItemNo Else MsgBox "Please enter a 5 digit Job Number", vbOKOnly Me.JobNo.SetFocus Exit Sub End If Eval_ItemNo: If Me.ItemNo & "" <> "" Then GoTo Eval_QtyFinished Else MsgBox "Please enter an Item Number", vbOKOnly Me.ItemNo.SetFocus Exit Sub End If Eval_QtyFinished: If Me.QtyFinished & "" <> "" Then GoTo Eval_WorkCenter Else MsgBox "Please enter a Qty Finished", vbOKOnly Me.QtyFinished.SetFocus Exit Sub End If Eval_WorkCenter: If Me.WorkCenter & "" <> "" Then Exit Sub Else MsgBox "Please enter a WorkCenter", vbOKOnly Me.WorkCenter.SetFocus End If End Sub

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 2012-03-19
      相关资源
      最近更新 更多