我的表单属性表[On Key Down]事件中有代码,如果用户在标题数据的最后一个字段中按Tab键,则会将焦点设置为子表单中的第一个字段。
只要用户在最后一个标题字段中输入数据没有错误,它就可以正常工作。该字段是一个日期,如果用户输入格式错误的日期并按Tab键,则会出现运行时错误2110“Access无法将焦点移动到控件xxx”
然后,如果他们按下结束,它将让他们返回并调整日期,但它似乎挂起到初始坏值并反复说“你输入的值不适合输入掩码”。即使它现在是一个很好的价值。
答案 0 :(得分:0)
您应该只需将子窗体设置为选项卡顺序中的下一个控件,而不是创建自己的方法来将焦点设置为子窗体。在子窗体中,只需确保将有问题的字段设置为子窗体的Tab键顺序中的第一个字段。
我认为这是其中之一"为什么重新发明轮子?"场景类型。有关设置标签顺序的详细信息,请参阅:https://support.office.com/en-in/article/Set-the-tab-order-for-controls-ec2943d9-8b07-4778-8157-c1785a0dd438
示例:
父表单标签顺序可以设置为:Parent.ctrl1, Parent.ctrl2, Parent.ctrl3, Parent.subform1
然后,子表格标签顺序可以设置为:Subform.ctrl1, Subform.ctrl2, Subform.ctrl3... etc
在这种情况下,当您选择Parent.subform1时,您将更改为子表单的Tab键顺序并转到Subform.ctrl1