2013-05-13 37 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建議的那樣,也非常簡單。