Access。郵便番号のハイフンあるの?ないの?どっちなの?でどうすればいいの?
<郵便番号:定型書式000\-0000;0;_ と000\-0000;;_>
Accessで、郵便番号について、ハイフンがつくのか?
つかないのか?
よくわからないということがありますので、まとめて確認しておきましょう。
次のテーブルを用意します。
郵便番号フィールドプロパティは、まだ何も設定していません。
定型郵便保存するフィールドプロパティには、
定型入力を設定しています。
定型入力をクリックすると、ビルドボタンが表示されますので、
クリックすると、定型入力ウィザードが表示されます。
郵便番号を選択して、次へボタンをクリックします。
ウィザードが進みますので、
ここは何もしないで、次へボタンをクリックします。
「定型入力中の文字を含めて保存する」をONにして、
次へボタンをクリックします。
完了ボタンをクリックしましょう。
定型入力には、
000\-0000;0;_
と設定されています。
同じように、
定型郵便保存しないフィールドプロパティの定型入力をクリックして、
定型入力ウィザードを設定していきますが、
次のところだけ先ほどと異なった設定をします。
「定型入力中の文字を含めずに保存する」を
ONにするところだけが異なっています。
定型入力には、
000\-0000;;_
と設定されています。
では、データを2件入力していきます。
01の郵便番号フィールドの210-0001は、
自分でハイフンを含めて入力しています。
02の郵便番号フィールドの2100002は、
ハイフンなしで入力しました。
定型郵便保存するフィールドと定型郵便保存しないフィールドは、
見た目同じハイフンが入った郵便番号になっていることが確認できます。
では、住所支援入力をした場合も含めて確認しますので、
デザインビューに戻って、
住所支援入力を設定してデータを追加していきます。
郵便番号フィールドをクリックして、
郵便番号フィールドプロパティの「住所入力支援」をクリックして、
ビルドボタンをクリックします。
住所入力支援ウィザードが起動しますので、
郵便番号に「郵便番号フィールド」を設定して、次へボタンをクリックします。
住所の構成は、「都道府県と住所の2分割」を選択して、
都道府県には、「都道府県フィールド」を、
住所には「住所フィールド」を設定して次へボタンをクリックします。
テストはやってもやらなくてもOKですので、完了ボタンをクリックします。
メッセージが表示されますので、OKボタンをクリックします。
これで、住所入力支援が設定できましたので、
郵便番号フィールドプロパティを確認しておきましょう。
定型入力には、
000\-0000;;_
と「定型入力中の文字を含めずに保存する」と同じ設定になっています。
では、新たに1件データを入力します。
3件目は、郵便番号フィールドを入力するときに、
ハイフンが自動的についてきました。
これは、定型入力に
000\-0000;;_
と設定されて為です。
その影響で、2件目のデータもハイフンがついて表示されています。
見た目は、郵便番号フィールドも、
定型郵便保存するフィールドも、定型郵便保存しないフィールドも、
同じハイフンがついているように見えますね。
【メッキをはがす】
このテーブルをExcelファイルとしてエクスポートしてみます。外部データタブのエクスポートから、Excelをクリックします。
1つは、書式設定とレイアウトを保持しないで、エクスポートします。
もう1つは、書式設定とレイアウトを保持して、エクスポートします。
では、書式を保持しないでエクスポートしたExcelファイルを開きましょう。
すると、「定型を保存する」の場合は、データそのものに、
ハイフンが入っていますが、保存しないを選ぶと、
ハイフンがないデータで入力されているのが確認できます。
そして、注目するのは、C列の郵便番号。
住所入力支援を設定する前の1件目2件目のデータは
そのまま入力されていますが、設定後に入力した3件目は、
ハイフンが入っていません。
原因は、「定型入力中の文字を含めずに保存する」と同じ、
000\-0000;;_
という定型入力が設定されているからです。
なので、ハイフンを含めて保存した住所入力支援を行うには、
定型入力を
000\-0000;0;_
と変更することで可能になります。
ちなみに、書式を付けてエクスポートしたExcelファイルを見てみると、
書式を保持していますので、
Accessと同じように、ハイフンがついたデータで保存されています。
このように、郵便番号のハイフンは、
どの時点でプロパティの設定をしたのかによって変わってきます。
ということで、可能ならば、データを入力する前に、
プロパティをばっちり決めてから、入力するといいですよね。