データベースの最大の敵は、

データベースで最大の敵は、入力漏れと言ってきました。

今でも、その気持ちは変わりません。

しかし、どうしても空白を登録しなければならないときがあります。

スポンサーリンク

データベースで空白を登録するとき

 

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

データベースで最大の敵は、入力漏れと言ってきました。

今でも、その気持ちは変わりません。

しかし、どうしても空白を登録しなければならないときがあります。

データベースで空白を登録するとき

 

今回の記事は、非連結で入力フォームを作成するの、最終回です。

空白を登録するときは、私にとっては、例外中の例外です。

Naosuke
まず、ここが原則です。

 

しかし、例外的に空白を登録する場合は、今回紹介するような場合です。

家族構成を社員データに入力するときに、独身の社員はどうするのかという問題があります。

 

家族構成ならずとも、既婚か、未婚くらいは確認すると思いまうす。

その時に、未婚の場合、配偶者の生年月日の欄に、何を入力するかが問題になります。

 

 

スポンサーリンク

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

 

今回のテーマ
  • ACCESSで入力フォームを作成している人
  • データベースに入力漏れがあってはならないと思っている人
  • どうしてもフィールドに、空白を入力したい人
スポンサーリンク

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

非連結で入力フォームを作成していると、色々な小技が利きます。
今回は、標準モジュールに記載した入力漏れをすり抜ける方法を紹介します。
スポンサーリンク

Nullと空白の違い

 

この問題を解決するためには、Nullと空白の違いを理解しなければなりません。

Excelでは、それほどシビアではないのですが、ACCESSに関しては、超シビアです。

Nullと空白を、ごっちゃにして考えると、とんでもない事になります。

 

Nullと空白の違い 作業手順 その1 Nullと空白の違いを図で説明

 

トレーの上に、コーヒーがある

トレーを持っているウェイトレス

この女性は、トレーの上に、コーヒーがります。

それが、このような状態です。

フィールドに値が格納されている状態です。

 

トレーのみを持っている

この状態が空白です。Nullではありません。

トレーも持っていない

スポンサーリンク
これがNullの状態です。

全然、違いますよね。

 

0というのは、何もないという意味ではなく、0という状態が存在していると考えてください。

1×0=0 答えは0という立派な答えが出ます・

 

 

Nullと空白の違い 作業手順 その2 入力フォームを確認

 

このようなフォームがあるとします。

妻の欄に、無と入力した場合、未婚なので、生年月日に何を入力するかと思います。

ここで、ダミーに生年月日を入力するという方法もありますが、これは、NGです。

データベース自体の信憑性がなくなるからです。

 

Nullと空白の違い 作業手順 その3 妻生年月日のフィールドの型を変更する

 

通常、生年月日のフィールドは、日付型にしますが、ここは、短いテキスト型へ変更します。

また、存在しない人間に、生年月日を無とするのも、芳しくありません。

だから、短いテキスト型にして、空白を登録できるようにします。

Nullと空白の違い 作業手順 その4 標準モジュールのコードをすり抜ける

 

標準モジュールには、下記のような記載があります。

テキストボックスの先頭に、txtの記載があれば、標準モジュールが反応します。

つまり、txtがなければ、標準モジュールは、反応しません。

無のボタンには、上のようなコードを仕込みます。

Nullと空白の違い 作業手順 その5 Nullを使うときの注意

このエラーは、標準モジュールが反応しているわけではありません。

Naosuke
妻生年月日の変数が、Stringになっているからです。
Stringを使う場合は、Nullの時の処理を記載しないと、デバックがでます。

Nullの時の処理を記載するよりは、変数をVariantへ変更すると、デバックは回避されます。

Naosuke
これもハマると8時間コースです。

Nullと空白の違い 作業手順 その6 Nullを使うときの注意

 

動画で説明するのを忘れました。

妻生年月日は、何も入力規制がついていません。

このコードを差し込んでください。

このコードを差し込んでください。

 

ここがポイント

ここがポイント
Function8.png
今回は、すべて、非連結のテキストボックスで入力フォームを作成しました。
連結で作成するよりも、色々な小技を利用できて、楽しかったです。
後は、このコードをいかに短くするか、可読性を上げるかです。
いいコードは、13行未満で記載できると思っています。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

これで、非連結のテキストボックスで入力フォームを作成は終了にします。

ACCESSを共有したときに、データベースに矛盾が生じていますのようなエラーが出ないことを祈ります。

今回も最後まで読んでいただき、ありがとうございました。

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

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

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

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

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

スポンサーリンク

Twitterでフォローしよう

おすすめの記事