pickup

正確なデータベースを作成するには、正確なデータ入力が必要です。

特に携帯電話番号の桁数等、11桁にも関わらず、10桁で入力してくる輩を撲滅します。

目次

スポンサーリンク

正確なデータベースを作成するには?

こんにちは。伊川(@naonaoke)です。

 

 

今回は、標準モジュールを利用して、正しい入力を促進する内容です。

以前の私は、正しい桁数を入力させるために、更新前処理を利用していました。

 

 

If Me.携帯電話_1 = “無” Then Exit Sub

If Len(Me!携帯電話_1) = 11 Then Exit Sub

MsgBox “携帯は11桁です。”

Cancel = True

 

このようなコードです。

 

しかし、この制限を設けるのに、フィールドが1個ならまだしも、10個も、20個もある場合は、現実的ではありません。

この状況を打破しなければ、正しいデータベースが作成できません。

 

この状況を標準モジュールに、数行のコードを仕込むことで解決できます。

 

 

スポンサーリンク

このブログはこんな人にお勧め

今回のテーマ
  • ACCESSの入力フォームに入力制限を設けている人
  • ACCESSで正しいデータベースが欲しい人
  • いつも適当に処理する人いて、ブツブツ言いながら、データベースをリカバリしている人

このブログを、読み終わるころには・・・・

このブログの結論
今回紹介する方法を利用することで、入力漏れ撲滅、正しい桁数が確保されます。
ほんの少しの細工で、あなたのデータベースは、見違えるように、正確になります。
スポンサーリンク

標準モジュールとFor eachの組合せ

素朴な疑問でした。

ACCESSで、ループはどのように使うのだろうか?

For~Nextは、数字が、変数として、回転(ループ)します。

しかし、ACCESSは、フィールドとして独立しています。

その、フィールドに対して、VBAでアクションを起こすコードは理解できました。

しかし、一括処理ということに関しては、さっぱり、想像がつきませんでした。

でも、ワイルドカードと、For eachが解決します。

以前の記事で紹介しました。

この記事の応用となります。

 

標準モジュールとFor eachの組合せ 作業手順 その1 データベース確認

 

 

 

現在、このような入力フォームがあるとします。

生年月日は、4桁、つまり、mm/ddで入力したいとします。

例)0126

これは、私の誕生日です。

携帯電話は、11桁です。

これは、もう、普遍の原則です。

ちなみに、固定回線は、10桁です。

携帯電話を入力しろと言っているのに、固定回線を入力してくる輩がいます。

特に、電話番号の手入力は、危険です。

Naosuke

個人情報保護法を、読んだこともない輩が、やたら、情報漏洩と叫ぶこともあります。

そのような意味でも、ある程度、入力には制限を付けたほうが良いですね。

 

標準モジュールとFor eachの組合せ 作業手順 その2 4桁、または無以外入力させない

これもよく、同僚から言われるのですが、なぜ、規定値を無にするのかと?

Naosuke
そんなもん、データベースは、原則、空白はないんじゃ

これで一喝しています。

どうしてと思う人もいるかもしれませんが、空白があると、データ抽出が面倒なのです。

 

上の図のように、非連結のテキストボックスの名前を、txt4テキスト0 としています。

つまり、txtの後に4桁なので、4を挟んでいます。

これだけです。

後は、条件を書くだけです。

 

カンタンに言うと、文字数が、4文字、または、無でなければ、先に進めないと記載しています。

ただこれだけですね。

標準モジュールとFor eachの組合せ 作業手順 その3 11桁以外登録させない

先頭の条件を変更するだけです。

これで完了です。

標準モジュールとFor eachの組合せ 作業手順 その4 For eachをとことん使う

この状態で、テーブルに入力が完了した場合、なにもしなければ、上段の、生年月日、携帯電話の値は、変わりません。

 

これで、すべてのテキストボックスの値は、無になります。

これは、フォームモジュールに記載しています。

すべてのフォームに適用するわけではないからです。

 

当然、空白も撲滅します。

スポンサーリンク

 

赤枠が、入力制限のコードを記載する場所になります。

つまり、標準モジュールから呼び出しています。

ここがポイント

ここがポイント
Function8.png
標準モジュール、クラスモジュールを利用すると、条件判定が少なくなりますね。
こんな便利な機能を、なぜ利用しなかったのか?、いや、できなかったのか?
単純に勉強不足なんですが、書籍にも書いていないので、仕方ないですね。
でも、このブログでは、実践的な技を紹介するのが、趣旨です。
是非、あなたも、コードを短くする喜びを覚えてください。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

今回は、以前紹介したコードの応用というか、使いまわしです。
入力制限を付けるフォームは、項目をまとめておくことで、コードの記載の量が、グーン減りますね。
今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No273です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格
スポンサーリンク

Twitterでフォローしよう

おすすめの記事