全部显示

AllowEdits 属性

       

使用 AllowEdits 属性可以指定用户是否可在使用窗体时编辑已保存的记录。Boolean 型,可读写。

expression.AllowEdits

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

设置

AllowEdits 属性使用以下设置:

设置 Visual Basic 说明
True   (默认值)用户可以编辑已保存记录。
False 用户不能编辑已保存记录。

可以使用窗体属性表Visual Basic 来设置 AllowEdits 属性。

说明

如果要防止更改窗体中显示的现有数据,可以使用 AllowEdits 属性。如果要防止更改特定控件中的数据,可以使用 EnabledLocked 属性。

如果要防止更改已有记录(使窗体只读),可以将 AllowAdditionsAllowDeletionsAllowEdits 属性设为“否”。也可以将 RecordsetType 属性设置为“快照”,使记录成为只读。

AllowEdits 属性设置为“否”时,“删除记录”或“数据输入”菜单命令对现有记录将不可用。(如果将 AllowAdditions 属性设为“是”,则其对新记录将仍然可用。)

无论 AllowEdits 属性的设置如何,通过编程对字段值进行的更改都会使当前记录可被编辑。如果要防止用户对需要通过编程才能编辑的记录(AllowEdits 为“否”)进行更改,请在所有程序化更改后保存记录;保存完针对当前记录未保存的所有更改后,AllowEdits 属性设置将再次发挥作用。

注意  当使用 OpenForm 操作的“数据模式”参数时,Microsoft Access 可能忽略某些窗体的属性设置。如果 OpenForm 操作的“参数模式”参数设置为“编辑”,Microsoft Access 将按以下属性设置打开窗体:

要防止 OpenForm 操作覆盖任何现有的属性设置,可以省略“数据模式”参数,使 Microsoft Access 使用窗体定义的属性设置。

示例

下面的示例检查窗体上所有控件的 ControlType 属性,并切换每个标签控件和文本框控件的 SpecialEffect 属性。当标签控件的 SpecialEffect 属性设置为“阴影”,文本框控件的 SpecialEffect 属性设置为“普通”,AllowAdditionsAllowDeletions AllowEdits 属性设置为 True 时,intCanEdit 变量将切换到允许编辑基础数据的状态。

Sub ToggleControl(frm As Form)
    Dim ctl As Control
    Dim intI As Integer, intCanEdit As Integer
    Const conTransparent = 0
    Const conWhite = 16777215
    For Each ctl in frm.Controls
        With ctl
            Select Case .ControlType
                Case acLabel
                    If .SpecialEffect = acEffectShadow Then
                        .SpecialEffect = acEffectNormal
                        .BorderStyle = conTransparent
                        intCanEdit = True
                    Else
                        .SpecialEffect = acEffectShadow
                        intCanEdit = False
                    End If
                Case acTextBox
                    If .SpecialEffect = acEffectNormal Then
                        .SpecialEffect = acEffectSunken
                        .BackColor = conWhite
                    Else
                        .SpecialEffect = acEffectNormal
                        .BackColor = frm.Detail.BackColor
                    End If
            End Select
        End With
    Next ctl
    If intCanEdit = IFalse Then
        With frm
            .AllowAdditions = False
            .AllowDeletions = False
            .AllowEdits = False
        End With
    Else
        With frm
            .AllowAdditions = True
            .AllowDeletions = True
            .AllowEdits = True
        End With
    End If
End Sub