首页 文章

如果子窗体在窗体视图中,则访问2003循环当前页面不起作用

提问于
浏览
0

我有一个包含多个子表单的表单 .
我想有以下行为:按主窗体的最后一个字段中的tab键或子窗体的最后一个字段中焦点移动到下一个子窗体或根据定义的Tab顺序返回到主窗体 .
为此,所有子表单和主表单都将Cycle属性设置为Current页面 .
除了表单视图中显示的子表单外,所有子表单都在主表单中显示为数据表 . 现在我得到了我想要的主要形式和显示为数据表的子形式但不是显示为Form的子形式的行为 .

这是访问2003中的正常行为,是否还有一些其他属性需要更改?

Note :如果我将"misbehaving"表单的默认视图更改为其他表格,它也会按我的意思行事......

我究竟做错了什么?
并且...如果这是访问2003的工作方式...由于我找不到OnTab方法,使用vba获得所需行为的最佳方法是什么?

Edit: 在等待理解是否可以在表单中设置正确的属性时,我在"misbehaving"子表单的第一个和最后一个字段中使用此代码实现了所需的行为 .

'In the last field
Private Sub Posizione_KeyDown(KeyCode As Integer, Shift As Integer)
    If (KeyCode = vbKeyTab And Shift = 0) Then
        KeyCode = 0
        Me.Parent!Autore_Subform.SetFocus
    End If
End Sub

'in the first field
Private Sub Stanza_KeyDown(KeyCode As Integer, Shift As Integer)
    If (KeyCode = vbKeyTab And Shift = 1) Then
        KeyCode = 0
        Me.Parent!Pagine.SetFocus
    End If
End Sub

1 回答

  • 0

    我只是在寻找同一问题的答案,并通过Google找到this:Ctrl-Tab将从子窗体中的最后一个控件移动到主窗体中的下一个控件 . 我通过实验(使用Access 2007)发现,哪个控件在子窗体中具有焦点并不重要,Ctrl-Tab会弹出子窗体到主窗体中的下一个控件 .

相关问题