首页 文章

从Access中的mainForm上的subForm中删除焦点

提问于
浏览
0

我有一个非常令人沮丧的问题 . 基本上我在数据表视图中有一个包含3-4个子表单的mainForm . 在选择记录并将其设置为mainForm上的控件后,从subForm中删除焦点的一般方法是什么?

我试过:OnCurrent事件:

Me.Parent.Form.SetFocus
Me.Parent.[Control].SetFocus

它的工作时间有一半 . 但是,当用户通过单击subForm中的某个字段来选择记录时,问题就出现了 . 然后 highlighted 字段是A)subForm中的字段,B)mainForm中的字段 . 看似随意的决定 .

在将新焦点设置到其他位置之前,如何完全取消/删除子窗体的焦点?

2 回答

  • 0

    那就是将焦点转移到父窗体上的控件:

    Me.Parent!SomeControl.SetFocus
    
  • 0

    这个特殊问题的解决方法最终为我解决了这个问题,就是让subForm中的字段看起来像一个超链接(即用户可以“点击”它) .

    然后创建一个设置正确焦点的 OnClick Event ,即:

    Public Sub [Field]_Click()
    On Error GoTo Goto_Err
    
        'some other code
        Me.Parent.[Control].SetFocus
    
    Goto_Exit:
        Exit Sub
    
    Goto_Err:
        MsgBox Error$
        Resume Goto_Exit
    End Sub
    

    此解决方法并不理想,因为用户必须单击字段本身,而不是通过按向上/向下箭头简单地移动到另一个记录 .

相关问题