Form.AllowEdits プロパティ (Access)

AllowEdits プロパティを使用して、ユーザーがフォームを使用するときに保存されたレコードを編集できるかどうかを指定します。 読み取り/書き込みが可能な Boolean です。

構文

AllowEdits

expressionForm オブジェクトを表す変数です。

注釈

AllowEdits プロパティを使用して、フォームによって表示される既存のデータに対する変更を防ぎます。 特定のコントロールのデータを変更されないようにするには、" Enabled /使用可能" または " Locked /編集ロック" プロパティを使用します。

既存のレコードが変更されないようにする (フォームを参照のみ可能にする) には、" AllowAdditions /追加の許可"、" AllowDeletions /削除の許可"、および " AllowEdits /更新の許可" プロパティを [No/いいえ] に設定します。 また、" RecordsetType /レコードセット" プロパティを [Snapshot/スナップショット] に設定しても、レコードを参照のみ可能にすることができます。

AllowEdits プロパティが [いいえ] に設定されている場合、既存のレコードに対して [レコードの削除] メニューコマンドと [データ入力] メニュー コマンドは使用できません。 ( AllowAdditions プロパティが [はい] に設定されている場合は、新しいレコードで引き続き使用できます)。

プログラムによってフィールド値を変更すると、 AllowEdits プロパティの設定に関係なく、現在のレコードが編集可能になります。 プログラムで編集する必要があるレコードにユーザーが変更を加えないようにする (AllowEdits は No) 場合は、プログラムによる変更後にレコードを保存します。 AllowEdits プロパティ設定は、現在のレコードに対する未保存の変更が保存された後に再度適用されます。

注:

OpenForm アクションの DataMode 引数が設定されている場合、Microsoft Access は多数のフォーム プロパティ設定をオーバーライドします。 OpenForm アクションの DataMode 引数が [編集] に設定されている場合、Access は次のプロパティ設定でフォームを開きます。

  • AllowEdits - はい
  • AllowDeletions - はい
  • AllowAdditions - はい
  • DataEntry - いいえ

OpenForm アクションでこれらの既存のプロパティ設定のいずれかがオーバーライドされないようにするには、 DataMode 引数の設定を省略して、Microsoft Access がフォームで定義したプロパティ設定を使用できるようにします。

次の例では、フォーム上のすべてのコントロールの ControlType プロパティを調べます。 ラベル コントロールとテキスト ボックス コントロールに対しては、プロシージャで " SpecialEffect /立体表示" プロパティを切り替えます。 ラベル コントロールの SpecialEffect プロパティが Shadowed に設定され、テキスト ボックス コントロールの SpecialEffect プロパティが Normal に設定され、 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

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。