適用対象
| Form オブジェクト |
|---|
AllowEdits プロパティを使用すると、フォームの使用時にユーザーが保存されたレコードを編集できるかどうかを指定できます。 ブール型の値の読み取り/書き込みが可能です。
expression.AllowEdits
式 必須。 [適用対象] リストのいずれかのオブジェクトを返す式。
設定
"AllowEdits/更新の許可" プロパティでは、次の設定が使用されます。
| 設定 | Visual Basic | 説明 |
|---|---|---|
| Yes/はい | True | (既定) ユーザーが保存済みのレコードを編集できます。 |
| No | False | ユーザーが保存済みのレコードを編集できません。 |
AllowEdits プロパティを設定するには、フォームのプロパティ シート、マクロ、または Visual Basic for Applications (VBA) コードを使用します。
解説
"AllowEdits/更新の許可" プロパティを使用すると、フォームに表示される既存のデータが変更されないようにすることができます。 特定のコントロールのデータを変更されないようにするには、Enabled または Locked プロパティを使用します。
既存のレコードが変更されないようにする (フォームを参照のみ可能にする) には、"AllowAdditions/追加の許可"、"AllowDeletions/削除の許可"、"AllowEdits/更新の許可" の各プロパティを No に設定します。 また、"RecordsetType/レコード セット" プロパティを Snapshot に設定しても、レコードを参照のみ可能にすることができます。
プログラムでフィールド値を変更すると、 AllowEdits プロパティの設定に関係なく、現在のレコードを編集できるようになります。 プログラムで編集する必要があるレコード (AllowEdits は No) をユーザーが変更できないようにする場合は、プログラムで変更した後にレコードを保存します。現在のレコードに対する未保存の変更が保存された後、 AllowEdits プロパティ設定が再び適用されます。
注
OpenForm アクションのデータ モード引数を設定すると、Microsoft Office Access 2007 はフォーム プロパティの設定の多くを上書きします。 OpenForm アクションの Data Mode 引数が Edit に設定されている場合、Access は次のプロパティ設定を使用してフォームを開きます。
- AllowEdits: Yes
- AllowDeletions: Yes
- AllowAdditions: Yes
- DataEntry: No
"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