webdevqa.jp.net

Accessでfalse値をクエリしても機能しない

提出された書類を追跡するための簡単なデータベースを作成しようとしています。フォームとテーブルでは、[はい]/[いいえ]チェックボックスを使用して、書類が提出されたときにチェックボックスをオンにしました。

私がやりたいのは、クエリを作成して、どの人がどの書類を紛失しているかのリストを取得できるようにすることです。基準をfalseに設定しようとすると、クエリから何も得られませんが、Trueに設定すると、すべてを提出したすべての人のリストが表示されます。

どんな助けでも大歓迎です。

1
Jason Taylor

データベース構造をチェックする場合は、ブール値(yes/noチェックボックスの背後にあるデータ型)がデフォルトでfalseであることを確認する必要があります。デフォルトではNULLである可能性があります(つまり、値が設定されていません)。

falseに等しいである基準でクエリを実行するのではなく、trueに等しくないである条件でクエリを実行することもできます。これはNULLの場合もカバーします。

SQLでは、次のように記述します。

SELECT * FROM YourTable WHERE YourBooleanField <> True
1
sunset

データベースでは、「ブール値」は2つだけでなく3つの値を持つことができます。値はTrue、False、およびNULLです。 NULLは明らかに異なる値です。それは真でも偽でもありません。それはそれ自体にのみ等しく(0でもない)、任意の数より大きくも小さくもありません。フィールドが実際にhasその中にデータがあるかどうかをテストすることだけが使用されます。

データベースを作成したときに、フィールドにデフォルト値を指定しなかったため、デフォルト値はNULLです。

0
Wes Sayeed