適用對象
Form 物件 |
您可以使用 AllowEdits 屬性指定使用者在使用 表單 時,是否可以編輯已儲存的記錄。 讀/寫布林值。
expression.AllowEdits
運算式 必要。 傳回 [套用至] 清單中其中一個對象的表達式。
設定
AllowEdits 屬性使用以下設定。
設定 |
Visual Basic |
描述 |
Yes |
True |
(預設) 使用者可以編輯已儲存的記錄。 |
No |
False |
使用者無法編輯已儲存的記錄。 |
您可以使用表單的屬性工作表、巨集或 Visual Basic for Applications (VBA) 程式碼來設定 AllowEdits 屬性。
備註
您可以使用 AllowEdits 屬性,防止對表單所顯示的現有資料進行變更。 如果您要防止對特定控制項中的資料進行變更,請使用 Enabled 或 Locked 屬性。
如果您想要防止對現有記錄進行變更 (將表單變成唯讀的),將 AllowAdditions、AllowDeletions 和 AllowEdits 屬性設定為 [否]。 您也可以將 RecordsetType 屬性設為 Snapshot,讓記錄變成唯讀。
無論是否設定 AllowEdits 屬性,以程式設計方式變更欄位值都會使目前的記錄變成可編輯的。 如果您想要防止使用者對您需要以程式設計方式編輯的記錄進行變更 (AllowEdits 為 [否]),請在任何程式設計變更之後儲存記錄;儲存目前記錄的任何未儲存變更之後,AllowEdits 屬性設定將會再次生效。
附註: 設定 OpenForm 動作的 Data Mode 引數時,Microsoft Office Access 2007 將會覆寫數個表單屬性設定。 如果 OpenForm 動作的 Data Mode 引數設定為 Edit,Access 將會開啟具有下列屬性設定的表單:
-
AllowEdits — 是
-
AllowDeletions — 是
-
AllowAdditions — 是
-
DataEntry — 否
若要防止 OpenForm 動作覆寫任何現有的屬性設定,請忽略 Data Mode 引數設定,讓 Access 使用表單定義的屬性設定。
範例
下列範例會在表單上檢查所有控制項的 ControlType 屬性。 對於每個標籤和文字方塊控制項,此程序可以切換這些控制項的 SpecialEffect 屬性。 當標籤控制項的 SpecialEffect 屬性設定為 Shadowed、文字方塊控制項的 SpecialEffect 屬性設定為 Normal,且 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