|
以下代码 可检查指定表 的数据表视图有否字段冻结,如果冻结,则将视图最大化需要特别注意的是, Properties("FrozenColumns") 永远都是大于0,而不是我们误以为只有 冻结字段时才会大于0
因为数据表视图有一个 记录选择器 ,它是默认冻结的,所以占了一列
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 ' 属性没有找到的错.
Set dbs = CurrentDb ' 获得当前数据库对象
Set tdf = dbs.TableDefs(strTableName) ' 获得表对象
DoCmd.OpenTable strTableName, acNormal ' 打开表
tdf.Properties.Refresh
On Error GoTo Frozen_Err
If tdf.Properties("FrozenColumns") > 3 Then ' 检查FrozenColumns 冻结列数 的值
DoCmd.Maximize
End If
Frozen_Bye:
Exit Sub
Frozen_Err:
If Err = conPropertyNotFound Then ' 没有这个属性 则添加这个属性.
Set prp = tdf.CreateProperty("FrozenColumns", DB_Integer, 1)
tdf.Properties.Append prp
Resume Frozen_Bye
End If
End Sub
|
|