Access VBA教程:ColumnOrder属性

使用 ColumnOrder属性可以指定“数据表”视图中列的顺序。Integer 型,可读写。

expression.ColumnOrder

expression   必需。返回“Applies To”列表中的一个对象的表达式。

设置

通过在“数据表”视图中选择一列并将其拖到新的位置即可设置该属性。

在Microsoft Access 数据库 (.mdb) 中,通过在Visual Basic 中使用Long Interger 值,也可以设置该属性。

若要通过使用 Visual Basic 来设置或更改表或查询的这一属性,必须使用列的 Properties集合。有关使用 Properties集合的详细信息,请参阅 Properties。

注意   ColumnOrder属性在“设计”视图中不可用。

说明

注意   ColumnOrder属性适用于“数据表”视图中所有的字段,并且当窗体处于“数据表”视图时,还适用于窗体控件。

在“数据表”视图中,字段的 ColumnOrder属性设置是由这个字段的位置确定的。例如,在“数据表”视图中,最左侧列中字段的 ColumnOrder属性设置为 1,第二个字段的属性设置为 2,依此类推。更改某个字段的 ColumnOrder属性,将重新设置那个字段及“数据表”视图中其原始位置左侧每个字段的这项属性。

在其他视图中,除非在“数据表”视图中明确地更改字段的次序(通过将字段拖到新位置,或通过更改其 ColumnOrder属性设置),否则该属性将设为 0。位于移动字段新位置右侧的字段,在除“数据表”视图以外的视图中,该属性都设为 0。

“数据表”视图中字段的次序并不影响表“设计”视图或“窗体”视图中字段的次序。

VBA示例

以下示例在“产品”窗体的“数据表”视图中,将“产品名称”和“单位数量”字段显示在前两列中。


Forms!Products!ProductName.ColumnOrder = 1
Forms!Products!QuantityPerUnit.ColumnOrder = 2

下一个示例在“数据表”视图中,将“产品”表的“产品名称”和“单位数量”字段显示在前两列中。为了设置 ColumnOrder属性,本示例使用了 SetFieldProperty 过程。如果在表打开的状态下执行该过程,则更改只能在表关闭并重新打开后才能显示。


Public Sub SetColumnOrder()
     Dim dbs As DAO.Database
    Dim tdf As DAO.TableDef
     Set dbs = CurrentDb
    Set tdf = dbs!Products
     ' Call the procedure to set the ColumnOrder property.
    SetFieldProperty tdf!ProductName, "ColumnOrder", dbLong, 2
    SetFieldProperty tdf!QuantityPerUnit, "ColumnOrder", dbLong, 3
     Set tdf = Nothing
    Set dbs = Nothing
End Sub
Private Sub SetFieldProperty(ByRef fld As DAO.Field, _
                             ByVal strPropertyName As String, _
                             ByVal intPropertyType As Integer, _
                             ByVal varPropertyValue As Variant)
    ' Set field property without producing nonrecoverable run-time error.
    Const conErrPropertyNotFound = 3270
    Dim prp As Property
     ' Turn off error handling.
    On Error Resume Next
     fld.Properties(strPropertyName) = varPropertyValue
     ' Check for errors in setting the property.
    If Err <> 0 Then
        If Err <> conErrPropertyNotFound Then
            On Error GoTo 0
            MsgBox "Couldn't set property '" & strPropertyName & _
                   "' on field '" & fld.Name & "'", vbCritical
        Else
            On Error GoTo 0
            Set prp = fld.CreateProperty(strPropertyName, intPropertyType, _
                      varPropertyValue)
            fld.Properties.Append prp
        End If
    End If
     Set prp = Nothing
 End Sub

上页:Access VBA教程:ColumnHidden属性 下页:Access VBA教程:ColumnSpacing属性

Access VBA教程:ColumnOrder属性

Access VBA教程:ColumnSpacing属性 Access VBA教程:ColumnWidth属性
Access VBA教程:ColumnWidths属性 Access VBA教程:COMAddIns属性
Access VBA教程:CommandBars属性 Access VBA教程:CommandBeforeExecute属性
Access VBA教程:CommandChecked属性 Access VBA教程:CommandEnabled属性
Access VBA教程:CommandExecute属性 Access VBA教程:CommitOnClose属性
Access VBA教程:CommitOnNavigation属性 Access VBA教程:Connection属性
Access VBA教程:ConnectionString属性 Access VBA教程:ControlBox属性
Access VBA教程:Controls属性 Access VBA教程:ControlSource属性
Access VBA教程:ControlTipText属性 Access VBA教程:ControlType属性
Access VBA教程:Copies属性 Access VBA教程:Count属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号