ACCESSのフォームでデータ入力をする際、電話番号や郵便番号など、あらかじめ桁数や入力する内容が決まっている場合は、定型入力を設定して既定の形でしかデータを入力できないようにする方が、開発者にとってもユーザーにとっても便利です。
今回は、フォームで定型入力をさせる方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。
【結論】定型入力を使えばデータの統一と入力効率化が同時に叶う
定型入力とは、ACCESSのフォームでデータを入力する際に、入力データの桁数や入力する文字の種別を指定するものです。
例えば、以下のフォームでは郵便番号の入力欄が自動的に前半3桁と後半4桁に区切られており、その間に「-」が入力されます。

ACCESSで利用可能な定型入力は〒以外にも、電話番号や日付、時刻などがあります。
定型入力を設定しておくことで、開発者が想定しないデータを利用者が入力することが防げ、データの統一と入力効率化を同時に実現できます。
定型入力の基本的な設定方法(定型入力ウィザード)
定型入力の設定は、テーブルもしくはフォームで行うことができます。
どちらでも設定方法は変わりませんので、今回はテーブルで説明します。
下記は、サンプルとして準備した顧客マスターテーブルです。
郵便番号に定型入力を設定しましょう。
まずはテーブルをデザインビューで開きます。
その上で、郵便番号フィールドを選択すると、下段に以下のような設定画面が表示されます。

定型入力業の右側に…マークがありますので、ここをクリックします。
すると、定型入力ウィザードが起動します。

定型入力ウィザードでは、あらかじめ作れた定型入力が登録されており、選択するだけで定型入力を設定可能です。
自分で独自の定型入力を作成することもできますが、こちらは後述します。
今回は、郵便番号を選択して「次へ」を押しましょう。
定型入力の形式変更画面が表示されます。

この画面ではあらかじめ用意された定型入力の変更やテストが行えます。
そのまま「次へ」を選択しましょう。
次に、定型入力で設定した文字(郵便番号の場合は途中のハイフン)をデータとして保存するか否かを設定します。
ここは重要なポイントですのでよく考えて設定ましょう。

ハイフンを含めるとテーブルに保存されるデータにもハイフンがある状態になります。
後でこのデータを加工処理したり、検索する際にはハイフンがある前提で処理を考える必要があります。
例えば郵便番号の数値だけを取り出す処理を別途作成するのであれば、最初からハイフンを保存しない方が楽です。
ハイフンを入れていると、Mid関数やReplace関数を使ってハイフンがない状態の値を求める処理が必要になります。
ここまでで定型入力の設定が完了します。
テーブルのデザインビューで定型入力欄に値が設定されたことがわかります。

定型入力の記述方法と構成要素
上記のようにウィザードを利用すれば簡単に定型入力が設定できます。
一方で、定型入力に設定された文字の意味は分かりにくいですよね。
例えば上記の例ですと
000¥-0000;0;_
と表示されています。
これはどんな意味なのでしょうか。
定型入力の構文は 定型入力; リテラル文字の保存; 代替文字 の3セクションで構成されています。
上記の例ですと、以下のように当てはめられます。
| セクション | 値 |
|---|---|
| 定型入力 | 000¥-0000 |
| リテラル文字の保存 | 0 |
| 代替文字 | _ |
リテラル文字とは、定型入力時に入力値以外にもともと表示されている文字(ハイフンやカッコ等)を指します。
以下にそれぞれの意味を詳しく説明します。
| セクション | 説明 |
|---|---|
| 定型入力 | 定型入力の入力ルールを記述します。 |
| リテラル文字の保存 | 定型入力時に入力値以外にもともと表示されている文字(ハイフンやカッコ等)を値として保存するか否かを指定します。0の場合は保存、1もしくは省略すると保存しない、になります。 |
| 代替文字 | 入力前に入力値の箇所に表示させる文字を指定します。規定値は_(アンダーバー)です。 |
つまり、000¥-0000という定型入力で、リテラル文字を保存し、代替文字としては_を表示する、という設定をしているということです。
特に2番目のリテラル文字の保存については、前述の通り初心者が躓きやすいポイントですので注意してください。
【一覧表】これだけ覚えればOK!定型入力の定義文字
定型入力を設定する際には様々な記号を利用します。
\や0などが並んでいて、意味が分かりにくいですよね。
以下に、定型入力でよく利用する定義文字を一覧化しました。
特によく利用するのは、0、9、\といったところです。
| 定義文字 | 説明 |
|---|---|
| 0 | 半角数字(0~9)を1つ、必須で入力する |
| 9 | 半角数字(0~9)を1つ、任意で入力する |
| # | 半角数字(0~9)、スペース、正または負の符号を1つ、任意で入力する |
| L | 半角英字を1つ、必須で入力する |
| ? | 半角英字を1つ、任意で入力する |
| A | 半角英字または数字を1つ、必須で入力する |
| a | 半角英字または数字を1つ、任意で入力する |
| & | 半角英字または数字またはスペースを1つ、必須で入力する |
| C | 半角英字または数字またはスペースを1つ、任意で入力する |
| \ | 直後の文字をリテラル文字としてそのまま表示する |
| “” | ダブルクォーテーションで囲まれた文字をリテラル文字としてそのまま表示する |
| ! | 定型入力のデータが右から左ではなく、左から右に埋め込まれる |
そのまま使える!実務でよく使う定型入力の具体例
実務で定型入力を利用する際に、よく利用するものの例を挙げます。
郵便番号
郵便番号はACCESS標準の定型入力設定に登録されており、自分で定型入力を記述しなくても簡単にウィザードで設定可能です。
定型入力設定
定型入力は以下のように設定します。
000\-0000;;_
最初に000と0が3つ並ぶことで、必須入力で3桁の数値を入力します。
その後、\-で「-」をリテラル文字として表示します。
さらに0000で4桁の数値を必須入力させています。
;(セミコロン)の後を省略していることからリテラル文字の「-」は保存しない設定になっています。
ここを0とすれば保存することが可能です。
未入力時の代替文字は_(アンダーバー)です。
入力前の表示
上記の設定を行うとフォームでは値を入力する前に以下のように表示されます。

電話番号
電話番号もウィザードで設定可能です。
定型入力設定
定型入力は以下のように設定します。
!\(9999″)-“9999\-9999;0;_
電話番号で注意しなければいけないことは、郵便番号と異なり桁数や-(ハイフン)で区切る場所が異なることです。
また、その際に数値を右寄せにしないと不自然な空白が開いてしまいます。
そのため、最初に!(エクスクラメーションマーク)を付与することで入力された値を右詰めにしています。
次に、\(として、(をリテラル文字として表示します。
その後、9999と9が4つ並ぶことで、任意入力で最大4桁の数値を入力します。
ここを必須入力の0ではなく、任意入力の9にすることで桁数の変動に対応します。
次はまたリテラル文字で”)-“として、)-を表示します。
その後は9999とリテラル文字の繰り返しです。
;(セミコロン)以降は0を指定してリテラル文字を保存し、代替文字は_(アンダーバー)で設定しました。
入力前の表示
上記の設定を行うとフォームでは値を入力する前に以下のように表示されます。

日付
最後に日付の定型入力です。
日付を西暦4桁/月/日で入力する定型入力を設定します。
定型入力設定
定型入力は以下のように設定します。
0000\/99\/99;0;_
最初の年は必ず4桁入力させるために、9ではなく0を使って4桁必須入力にしています。
その後、\を使ってリテラル文字の/(スラッシュ)を表示し、99で月を2桁まで入力、再度/をリテラル文字として表示させて日を最大2桁入力としています。
リテラル文字は0で保存、代替文字は_(アンダーバー)です。
日付の入力も形を決めておくことが多いため、定型入力を利用すると便利でしょう。
入力前の表示
上記の設定を行うとフォームでは値を入力する前に以下のように表示されます。

まとめ:定型入力はデータベース活用の第一歩
最後にまとめです。
- 定型入力を利用することでデータ統一と入力の効率化が可能
- 定型入力はテーブルやクエリでウィザードを使って設定できる
- 定型入力を設定する際の構成は、
定型入力; リテラル文字の保存; 代替文字の3セクション
以上、フォームで定型入力をさせる方法をご紹介しました。
この記事の内容を実際に試したい方へ
本記事の内容を実際にACCESSを動かしながら確認したいという方向けに、記事で紹介した機能が実装されたサンプルファイルを販売しています。記事内で解説しているテーブル、クエリ、フォーム、レポート、VBAのプロシージャなどをそのまま動く形で実装しました。
学習用としてはもちろん、加工して自社業務に利用することも可能です。
ご興味のある方は以下からご覧ください。

ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に300以上のACCESSデータベースの開発・修正実績のあるはこにわガジェット(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

最後までお読みいただき、ありがとうございました。
