0

我有一个包含列表框的表单。我正在尝试更改列表框的顺序。我尝试将前面或发送回来,但它们不在表单视图中工作。我找到了 z index 属性来安排它们的优先级。但是,以下代码不起作用。这是正确的方法吗?或者有没有其他方法可以使用或不使用代码来做到这一点?

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

谢谢你的帮助。

4

3 回答 3

1
docmd.RunCommand acCmdDesignView

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

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

docmd.RunCommand acCmdFormView

此外,Access 2016 仍然不支持 ZOrder。因此,我还没有学会编写单行代码将控件置于其他两个之间的方法,我只是将中间发送到后面,然后再发送到后面,并将其扩展到必须重叠的许多控件。

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

于 2016-04-19T17:23:27.667 回答
0

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

不幸的是,Access 不支持使用ZOrder代码进行操作的方法。Microsoft Forms确实支持ZOrder在 Access 帮助中出现时可能会令人困惑的方法。

当我重读您的问题时,我想知道您是否在谈论标签顺序。如果是这样,右键单击并调出“属性”,选择“其他”选项卡,然后调整“选项卡索引”属性。此外,请确保紧接下方的“制表位”属性设置为“是”。在代码中,您将使用FormName.ControlName.TabIndex=0将控件设置为第一个制表符位置。

希望这可以帮助!

参考:个人经历(以及数小时的挫败感)

于 2015-01-20T04:56:32.720 回答
0

我在一个 Access 表单上执行了此操作:我想要在顶部的控件我只是将其剪切并粘贴回表单,然后将其移动到我想要覆盖的那个上。在这种情况下,它是一个文本框(已绑定),与组合框(未绑定)的大小几乎相同;只有组合的下拉菜单向文本框的右侧扩展了一点,所以当加载表单时,文本框看起来像一个组合框。用户单击下拉菜单并做出选择,拉出的记录会反映在文本框中。

于 2021-08-26T20:11:08.157 回答