プロが教えるわが家の防犯対策術!

1、AccessにはNullと長さ0の文字列があるそうですが、どちらの空白を使うべきでしょうか?
2、すでに入力した空白をNullもしくは長さ0の文字列に簡単に置き換えができるのでしょうか?
3、長さ0の文字列の入力の際にわざわざ""をいれるのが面倒なことにつきまして
以上のことをお聞きしたいと思います。

今年から顧客情報をデータ管理しようと思い、Excelを利用していたのですが、データが複雑になり、Accesの方が良いと判断したため、数日前使い始めました。
Excelからインポートした今まで作ったデータに新しいデータを追加したのですが、IIfで""に一致する条件分岐をクエリ上に作るも、追加したデータは一致しません。
値要求と空文字の設定を「はい」変えましたが、すでに入力した分が自動的に置き換わることもなく、また、値要求の関係でレコードの追加のたびにいくつもある空白セルに""の入力を要求されたりと、面倒に感じました。

もう一つAccessの質問ではないのですが、Excelで空白を関数を引用すると、0が出現することがあります。
これはAccessのNullと長さ0の文字列と同じようなものなのでしょうか?

調べてもnullと長さ0の文字列についての違いがほとんどわからなかったため、勘違いているところもあると思いますが、ご指摘とご回答をよろしくお願いします。

A 回答 (1件)

どちらの空白を使うかは、その値(情報)の使い方によって変わってくると思いますので


「どちらを使うべきか」は一概に言えないと思います。

ただ、「備考に特に記述する情報は無い」とか、「Fax番号は必須ではないので記述しなくともよい」等
テーブルのそのフィールドに値が無くてもいい時などは、私はNullを使っています。
理由としては、
1.レコードを追加した状態ではフィールドはNullなので、そのままでよいから
2.フォームから値を代入する場合、フォームのテキストボックスが空の状態ではNullが代入されるから

>2、すでに入力した空白をNullもしくは長さ0の文字列に簡単に置き換えができるのでしょうか?

私の場合ですが、Excelから最初にインポートした後で、VBAでテーブルの全フィールドを検索して
長さ0の文字列("")をNullに置換するルーチンを走らせています。
他にもっと良い方法が有るのかもしれませんが。。。
    • good
    • 0
この回答へのお礼

Excelから取り込んだ状態の空白に則って、フィールドの既定値に""を設定しました。
ですが、フィールドを増やすたびに規定値を設定するのも面倒ですし、フォームを作る予定もあるので、
データベースを構築する際には置き換えて、Nullを空白に利用したいと思います。
ご回答ありがとうございました。

お礼日時:2017/09/18 16:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A