动态排序列 MS Access 子窗体

Dynamically order columns MS Access subform

我需要通过单击按钮对 MS Access 表单中的列重新排序。

  1. 如果 Column Sequence1 按钮的点击顺序应该是 Col1、Col2、Col3
  2. 如果 Column Sequence2 按钮的点击顺序应该是 Col3、Col2、Col1
  3. 如果 Column Sequence3 按钮的点击顺序应该是 Col2、Col1、Col3

请参考以下截图以供参考

我试过了,但只有在主窗体或子窗体中手动保存时,列顺序才会发生变化。请帮助 VBA 脚本

假设有两列(而不是你的两列,但很容易扩展);您可以更改这些属性:

Private Sub Command1_Click()
  With Me.MyTbl_subform.Controls
       !Col1_Label.Caption = "ColA" ' Column Heading on the form
       !Col2_Label.Caption = "ColB"
       !Col1.ControlSource = "ColA" ' Column name from Table/Query in RecordSource
       !Col2.ControlSource = "ColB"
  End With
End Sub

Private Sub Command2_Click()
  With Me.MyTbl_subform.Controls
       !Col1_Label.Caption = "ColB"
       !Col2_Label.Caption = "ColA"
       !Col1.ControlSource = "ColB"
       !Col2.ControlSource = "ColA"
  End With

End Sub

Col1_Label、Col2_Label、Col1、Col2是子窗体上的控件名称; ColA 和 ColB 是子表单源中的列名 table/query.