FrozenColumns 属性

expandtri全部显示

使用 FrozenColumns 属性可以确定在数据表中将冻结的列数。Integer 型,可读写。

expression.FrozenColumns

expression    必需。返回“应用于”列表中的一个对象的表达式。

说明

冻结的列显示在数据表的左侧,并且在水平滚动数据表时,它们不会移动。

注释 FrozenColumns 属性只能应用于“数据表”视图中的表、窗体及查询。

单击“格式”菜单上的“冻结列”时,Microsoft Access 将设置 FrozenColumns 属性。

Visual Basic 中,该属性设置为 Integer 值,用于指出在数据表中使用“冻结列”命令冻结的列数。记录选定器字段始终是被冻结的,所以默认值是 1。因此,如果冻结一列,FrozenColumns 属性将设置为 2;如果冻结两列,该属性将设置为 3;依此类推。

该属性设置在所有视图中都是只读属性。

当使用“冻结列”命令来冻结列时,Microsoft Access 将自动按照冻结它们的顺序,把其移动到数据表的最左边。例如,如果冻结三列,它们将成为数据表的第一、第二和第三列。因为记录选定器字段列始终是被冻结的,在这里,FrozenColumns 属性将设置为 4。冻结的三列,其 ColumnOrder 属性将设置为 1、2 和 3 (按照它们被冻结的顺序)。

如果单击“格式”菜单上的“取消对所有列的冻结”,全部被冻结的列都将取消冻结,并且 FrozenColumns 属性设置为 1。

注释  如果“冻结列”命令改变了列次序,则“取消对所有列的冻结”命令将不会恢复列原有的顺序。

示例

下面的示例使用 FrozenColumns 属性来确定表的“数据表”视图中有多少列被冻结。如果冻结列在三列以上,表的尺寸将被最大化,以便在界面上能看到尽可能多的未冻结列。

Sub CheckFrozen(strTableName As String)

    Dim dbs As Object

    Dim tdf As Object

    Dim prp As Variant

    Const DB_Integer As Integer = 3

    Const conPropertyNotFound = 3270  ' Property not found error.

    Set dbs = CurrentDb      ' Get current database.

    Set tdf = dbs.TableDefs(strTableName)      ' Get object for table.

    DoCmd.OpenTable strTableName, acNormal  ' Open table.

    tdf.Properties.Refresh

    On Error GoTo Frozen_Err

    If tdf.Properties("FrozenColumns") > 3 Then   ' Check property.

        DoCmd.Maximize

    End If

Frozen_Bye:

    Exit Sub

Frozen_Err:

    If Err = conPropertyNotFound Then      ' Property not in collection.

        Set prp = tdf.CreateProperty("FrozenColumns", DB_Integer, 1)

        tdf.Properties.Append prp

        Resume Frozen_Bye

    End If

End Sub