1/11/2021

Access。テーブルの一部のフィールド全体を空白に戻したいけど、「””」じゃ戻らない【Blank】

Access。テーブルの一部のフィールド全体を空白に戻したいけど、「””」じゃ戻らない

<Access:更新クエリのNull>

定期的に使っているテーブルがあるのですが、データ全体を消すのではなくて、データの一部のフィールド全体を空白に戻したい場合、あることを知らないと対応することができません。


今回は、「Tアンケート」というテーブルの「NO」以外のフィールドのデータを空白にして流用したいわけです。

今回のように少ないデータ量ならば、自力で削除してもいいのですが、データ量が増えれば当然、大変な作業ですし、ミスが発生する確率もアップします。


テーブルをコピーして、貼り付けの設定を「テーブル構造のみ」にしても、データの一部だけを残すことは残念ながらできません。


そうなると、該当するデータを空白に置換する。
つまり、空白に更新してあげればいいわけです。


テーブルのデータを更新するには、選択クエリではなくて、更新クエリで対応します。


作成タブの「クエリデザイン」をクリックします。


最初は、通常どおり選択クエリを作りますので、該当するフィールドだけで設定します。


このまま更新クエリに変更してもいいのですが、失敗すると取り返すが付かないこともありますので、まずはこの選択クエリで該当のデータが抽出されているのか、確認しておくといいでしょう。


確認したら、クエリツールの「デザイン」にある更新クエリに変換するボタンをクリックします。


設定に「レコードの更新」という行が追加されました。


データを空白にしたいわけですから、ExcelのIF関数などでお馴染みの「””」(ダブルコーテーション×2)を使えば置換されるように思います。


実行ボタンをクリックしてみると、更新されるというメッセージが表示されますので、「はい」をクリックします。


すると、残念ながら、エラーメッセージが表示されてしまい、実行することはできません。


更新クエリを使うまではいいのですが、Excelのように「””」(ダブルコーテーション×2)をつかって、空白に戻すことができないのです。

そこで、登場するのが、『Null』(ヌル)です。Nullをつかうことで、未入力の状態にすることができます。


使い方は先ほどの「””」(ダブルコーテーション×2)をNullにするだけです。


それでは、改めて、更新クエリを実行してみましょう。


更新を確認するためのダイアログボックスが表示されますので、「はい」をクリックします。


エラーメッセージは表示されなかったので、Tアンケートを確認してみましょう。


NOのフィールド以外、すべて空白に戻すことができました。


今回のようにExcelでよく使っていることができないというのが、Accessにはちょこちょこあるようですので、注意する必要がありそうですね。