AllowEdits 属性

expandtri全部显示

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

expression.AllowEdits

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

设置

AllowEdits 属性使用以下设置:

设置

Visual Basic

说明

True

(默认值)用户可以编辑已保存记录。

False

用户不能编辑已保存记录。

 

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

说明

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

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

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

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

注释  如果设置了 OpenForm 操作的“数据模式”参数,Microsoft Access 将忽略许多窗体属性设置。如果 OpenForm 操作的“数据模式”参数设置为“编辑”,Microsoft Access 所打开的窗体将具有下列属性设置:

?AllowEdits:是
?AllowDeletions:是
?AllowAdditions:是
?DataEntry:否

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

示例

下面的示例检查窗体上所有控件的 ControlType 属性,并切换每个标签控件和文本框控件的 SpecialEffect 属性。当标签控件的 SpecialEffect 属性设置为“阴影”,文本框控件的 SpecialEffect 属性设置为“普通”,AllowAdditionsAllowDeletionsAllowEdits 属性设置为 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