2013-05-13 71 views
0

我有一个包含列表框的表单。我试图改变列表框的顺序。我尝试过带前或发回,但他们不在窗体视图中工作。我发现了z索引属性来安排它们的优先级。但是,以下代码无效。这是正确的方法吗?或者有没有其他方式可以使用或不使用代码来执行此操作?Microsoft Access z-index属性

Me.Controls.SetChildIndex (Me.List0 , Me.List1) 

感谢您的任何帮助。

+0

错误消息说什么?你是否在使用Access的VBA? – 2013-05-13 08:11:22

+0

它说的语法错误,是的,我在VBA,但我不知道这些代码是否正确。 – 2013-05-13 08:19:58

回答

0

不使用代码: 您可以通过右键单击任何控件并选择“位置”,然后选择“置于前面”或“发回”来更改z顺序。

不幸的是,Access的确不是而是支持使用代码进行操作的ZOrder方法。 Microsoft Forms 确实支持ZOrder方法,当它出现在Access帮助中时可能会引起混淆。

正如我重新读你的问题,不知你是否在谈论标签订单。如果是这样,右键单击并调出“属性”,选择“其他”选项卡,然后调整“制表索引”属性。另外,请确保立即在下面的“Tab Stop”属性设置为“Yes”。在代码中,您可以使用FormName.ControlName.TabIndex=0将控件设置为第一个选项卡位置。

希望这会有所帮助!

参考:个人经验(和挫折小时)

1
docmd.RunCommand acCmdDesignView 

forms("form1").Controls("text0").inselection=true 

docmd.runcommand acCmdSendToBack '(or docmd.runcommand acCmdBringToFront) 

docmd.RunCommand acCmdFormView 

此外,ZORDER仍然没有由Access 2016这样的支持,我还没有学会一种方法来写一个单一的代码行把控制权交给另外两个人,我只是把中间回到后面,然后回到后面,然后扩大这个范围,但是很多控制必须重叠。

最后,即使您使用的VBA为ZOrder,您的英语确实听起来像forms("form1").Controls("text0").TabIndex=34,正如Olek建议的那样,也非常简单。