全部显示

FrozenColumns 属性

       

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

expression.FrozenColumns

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

说明

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

注意  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