Google検索

Office2019 Access2019

[入力規則]プロパティでフィールドの文字数を制限する

投稿日:

Accessでテキストボックスに入力できる文字数を制限する方法です。テーブルのフィールドサイズで文字数を制限できますが、[入力規則]プロパティで設定することもできます。エラーメッセージも自由に設定できます。

[入力規則]はフォームのプロパティで設定することもできます。

入力規則とエラーメッセージで設定

テーブルのフィールドサイズで最大文字数を設定

テーブルをデザインビューで開きます。

フィールドの最大文字数は、フィールドプロパティの[フィールドサイズ]で設定します。

[自己アピール]フィールドの文字数を100文字に制限したい場合は、以下のように[フィールドサイズ]に[100]と入力します。

テーブルでフィールドサイズを指定

テーブルをデータシートビューに切り替えて、100文字より多く入力しようとしても入力できません。全角、半角にかかわらず設定した文字数までしか入力できません。

既定のフィールドサイズの変更

[短いテキスト]の最大文字数は[255]文字です。既定値は[255]となっています。

この既定値はオプションの設定で変更することができます。

[ファイル]タブをクリックして[オプション]をクリックします。

[Accessのオプション]ダイアログボックスが表示されます。

[オブジェクトデザイナー]の[テーブルデザインビュー]にある[テキスト型のフィールドサイズ]で数値を入力します。

既定は[255]となっていますが、[1~255]の間の整数を入力できます。

以下のように[20]に設定すると、テーブルのデザインで[短いテキスト]を選択した時のフィールドサイズは[20]になります。

[Accessのオプション]ダイアログボックス

フィールドサイズの変更

既にデータが入力されているフィールドのフィールドサイズを現在よりも小さい値に変更すると、データの一部が失われてしまう場合があります。

例えば、既定の[255]にしたままデータを入力していて、途中でフィールドサイズを制限しようと[100]にしようとすると、以下のメッセージウィンドウが表示されます。

[はい]をクリックすると、設定した文字数(ここでは[100])からはみ出した文字は容赦なく削除されますので、気を付けてください。

一部のデータが失われる可能性があります。

1つ以上のフィールドのサイズが小さな値に変更されました。データが失われると、入力規則に違反する可能性があります。
このまま続けますか?

メッセージウィンドウ[一部のデータが失われる可能性があります。]

入力規則プロパティ

[入力規則]プロパティでは、データを入力するときに入力できる文字数を制限することができます。

フィールドサイズは、最大文字数の設定ですが、入力規則では[LEN]関数を使って、最低文字数も設定できます。

例えば、最低10文字以上入力して欲しい場合は、以下のように入力します。

これで[自己アピール]フィールドには、10文字以上100文字以下の文字数の制限ができます。

LEN関数は、文字列の文字数を返してくれる関数です。

Len([自己アピール])>=10

[入力規則]プロパティ

AND演算子で組み合わせ

入力規則で複数の規則を指定する場合は、AND演算子を使用します。

例えば、ここでは[フィールドサイズ]プロパティで入力できる最大数を制限していますが、[入力規則]プロパティで以下のように指定することもできます。

[自己アピール]フィールドには、10文字以上80文字以下の文字数の制限ができます。

最大値はフィールドサイズで指定している値より小さい値を指定します。

Len([自己アピール])>=10 And Len([自己アピール])<=80

参考以下は、Microsoftのヘルプページです。

入力規則を使ってデータ入力を制限する - Access

既存のデータが存在する場合

既存のデータが存在する場合に入力規則を設定すると、テーブルを保存するときに確認メッセージが表示されます。

データの入力規則が変更されています。既存のデータは新しい入力規則に違反している可能性があります。

既存のデータが新しい入力規則に従っているかどうか検査しますか?(この処理には時間がかかる場合があります)

メッセージウィンドウ[データの入力規則が変更されています。]

上記画面で[はい]のボタンをクリックすると、次に以下のメッセージウィンドウが表示されます。

以下のメッセージウィンドウで[はい]を選択しても違反したデータが存在するかを調べるだけで、既存のデータに対して入力規則が適用されることはありません。

設定後の入力と編集に関して、入力規則のルールが有効になります。

既存のデータは、’自己アピール’フィールドの’入力規則’プロパティの新しい設定に違反しています。

違反警告のメッセージウィンドウ

参考[フィールドサイズ]プロパティで大きい値から小さい値を設定すると、指定したサイズに合わないデータの場合は一部のデータが失われてしまいますが、入力規則の場合は、既存のデータの一部が失われることはありません。

もし、すでにフィールドサイズで数値を指定していて、既存のデータがある場合に指定した値より小さい値に変更する場合は、入力規則で指定するほうがお勧めです。

入力規則に違反したデータを入力した場合

ただ、このままだと入力規則に適合しないデータを入力した場合のエラーメッセージは以下のようになります。これは、標準的なエラーメッセージです。

[エラーメッセージ]プロパティが空白の場合は、以下の標準的なエラーメッセージが表示されます。

'T_写真情報.自己アピール'に設定されている入力規則'Len([自己アピール])>=10'に違反する値が1つ以上あります。このフィールドの式で使用できる値を入力してください。

入力規則違反の標準的なエラーメッセージ

[エラーメッセージ]プロパティで任意のメッセージを表示

[エラーメッセージ]プロパティでは、任意のメッセージ内容を設定することができます。

[エラーメッセージ]プロパティで指定すると、標準的なエラーメッセージは表示されず、指定したエラーメッセージが表示されるようになります。

例えば、エラーメッセージに以下のように入力します。

10文字以上100文字以下で入力してください。

[エラーメッセージ]プロパティ

そうすると、10文字より文字数が少ない場合は、以下のようにメッセージが表示されます。

[入力規則]プロパティで設定した場合は、[エラーメッセージ]プロパティも組み合わせて設定されることをお勧めします。

フォームのプロパティで指定

フォームのコントロールにも[入力規則]プロパティがあります。

テーブルのフィールドと連携しているコントロールでは、テーブルの入力規則が継承されます。

できればテーブルのフィールドプロパティで設定しておくほうが望ましいですが、フォームで設定することもできます。

フォームをデザインビューで開きます。入力規則を設定したいコントロールを選択して、プロパティを表示します。プロパティは[F4]キーで表示できます。

プロパティの[データ]タブを表示すると、[入力規則]と[エラーメッセージ]があります。

参考コントロールのプロパティで設定する場合は、テーブルのフィールドでフィールドサイズや入力規則を設定していないかを確認してください。

フォームのデザインビュー

入力規則に適合しない場合は、以下のようなエラーメッセージが表示されます。

入力規則に適合しない場合のエラーメッセージ

非連結のテキストボックスの場合は、フォームのプロパティで設定します。

関連以下の記事でも入力規則について記しています。

重複データが入力されたらメッセージを出す

Accessのフォームで受付番号を入力するように作成しています。 受付番号を入力したときに、既に入力済みの番号であればメッセージウィンドウを ...

続きを見る

Profile

執筆者/はま

おすすめ記事と広告

-Office2019 Access2019

Copyright © 2001-2019 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2019 AllRights Reserved Powered by AFFINGER4.