Form.AllowEdits Property (Access)
You can use the AllowEdits property to specify whether a user can edit saved records when using a form. Read/write Boolean.
You can use the AllowEdits property to prevent changes to existing data displayed by a form. If you want to prevent changes to data in a specific control, use the Enabled or Locked property.
If you want to prevent changes to existing records (make a form read-only), set the AllowAdditions , AllowDeletions , and AllowEdits properties to No. You can also make records read-only by setting the RecordsetType property to Snapshot.
When the AllowEdits property is set to No, the Delete Record and Data Entry menu commands aren't available for existing records. (They may still be available for new records if the AllowAdditions property is set to Yes.)
Changing a field value programmatically causes the current record to be editable, regardless of the AllowEdits property setting. If you want to prevent the user from making changes to a record (AllowEdits is No) that you need to edit programmatically, save the record after any programmatic changes; the AllowEdits property setting will be honored once again after any unsaved changes to the current record are saved.
When the Data Mode argument of the OpenForm action is set, Microsoft Access will override a number of form property settings. If the Data Mode argument of the OpenForm action is set to Edit, Microsoft Access will open the form with the following property settings:
AllowEdits — Yes
AllowDeletions — Yes
AllowAdditions — Yes
DataEntry — No
To prevent the OpenForm action from overriding any of these existing property settings, omit the Data Mode argument setting so that Microsoft Access will use the property settings defined by the form.
The following example examines the ControlType property for all controls on a form. For each label and text box control, the procedure toggles the SpecialEffect property for those controls. When the label controls' SpecialEffect property is set to Shadowed and the text box controls' SpecialEffect property is set to Normal and the AllowAdditions, AllowDeletions, and AllowEdits properties are all set to True, the intCanEdit variable is toggled to allow editing of the underlying data.
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