使用 AllowEdits 属性可以指定用户是否可在使用窗体时编辑已保存的记录。Boolean 型,可读写。
expression.AllowEdits
expression 必需。返回“应用于”列表中的一个对象的表达式。
AllowEdits 属性使用以下设置:
设置 |
Visual Basic |
说明 |
是 |
True |
(默认值)用户可以编辑已保存记录。 |
否 |
False |
用户不能编辑已保存记录。 |
可以使用窗体属性表、宏或 Visual Basic 来设置 AllowEdits 属性。
如果要防止更改窗体中显示的现有数据,可以使用 AllowEdits 属性。如果要防止更改特定控件中的数据,可以使用 Enabled 或 Locked 属性。
如果要防止更改已有记录(使窗体只读),可以将 AllowAdditions、AllowDeletions 和 AllowEdits 属性设为“否”。也可以将 RecordsetType 属性设置为“快照”,使记录成为只读。
将 AllowEdits 属性设置为“否”时,“删除记录”或“数据输入”菜单命令对现有记录将不可用。(如果将 AllowAdditions 属性设为“是”,则其对新记录将仍然可用。)
无论 AllowEdits 属性的设置如何,通过编程对字段值进行的更改都会使当前记录可被编辑。如果要防止用户对需要通过编程才能编辑的记录(AllowEdits 为“否”)进行更改,请在所有程序化更改后保存记录;保存完针对当前记录未保存的所有更改后,AllowEdits 属性设置将再次发挥作用。
注释 如果设置了 OpenForm 操作的“数据模式”参数,Microsoft Access 将忽略许多窗体属性设置。如果 OpenForm 操作的“数据模式”参数设置为“编辑”,Microsoft Access 所打开的窗体将具有下列属性设置:
? | AllowEdits:是 |
? | AllowDeletions:是 |
? | AllowAdditions:是 |
? | DataEntry:否 |
要防止 OpenForm 操作覆盖任何现有的属性设置,可以省略“数据模式”参数,使 Microsoft Access 使用窗体定义的属性设置。
下面的示例检查窗体上所有控件的 ControlType 属性,并切换每个标签控件和文本框控件的 SpecialEffect 属性。当标签控件的 SpecialEffect 属性设置为“阴影”,文本框控件的 SpecialEffect 属性设置为“普通”,AllowAdditions、AllowDeletions 和 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