Microsoft Access 掲示板

クエリの並べ替えが上手くいかない / 5

7 コメント
views
4 フォロー
5
hiroton 2023/07/25 (火) 18:22:53 c0930@f966d

Nullについて(もう一度学ぶMS-Accessさん)

""(空文字列(長さ0の文字列))とNullは画面上で見たときの見た目が同じだけでデータとしては別物です

異なるデータなので、並び替えをすれば、それぞれがひとまとまりになって並び変わります(どちらが先になるかは若干複雑でACCESSならNULLが先となります)

NULLは非常に厄介な問題(比較はIs Nullとしなければならない、「全て」を抽出したつもり(Like "*")でデータが抜け落ちる等々多数)を持っています。できることならテーブルのプロパティで制限がかけられると良いですね

通報 ...
  • 7

    できることならテーブルのプロパティで制限がかけられると良いですね

    同感です。見た目が同じなのに結果が異なるのはトラブルの元です。

    具体的には、テーブルのデザインビューで、フィールドプロパティを下記のように設定すれば、Nullになることはないので空文字列("")かどうかのみ考慮すればOKになります。

    プロパティ設定値
    空文字列の許可はい
    値要求はい

    質問の式も下記ですみます。

    式1: IIf([フィールド2]="","9999","")

    Like "*" でデータが抜け落ちることもなくなります。