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