- ベストアンサー
Trueについて
再度同じ質問になりますがお尋ねします。 Excelの関数でTrueは「1」でFalseは「0」だと思いますがAccessの場合は違うのでしょうか? Accessのフィルタで、データシートで性別フィールドにはチェックを入れると「男性」チェックを入れないと「女性」というようにしています。 データシートから「フィルタ/並べ替え」で男性だけを抽出しようとしました。「レコード」「フィルタ」「フィルタ/並べ替え」で「抽出条件」に「True」と入れると男性が抽出されますが「抽出条件」に「True」である「1」を入れても抽出できません。しかし「-1」だと「男性」が抽出できました。これはなぜでしょうか?「True」は「1」ではないのでしょうか?教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ExcelのワークシートではFalseが0でTrueが0以外ですが、Excelの中 でもVisual BasicではTrueが-1でFalseが0です。 同じ会社の製品でも全然統一されてないのがMicrosoftクオリティ、 諦めましょう。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
回答No.2
こんばんは。 >これはなぜでしょうか? VBAは、ビット演算をしていますから、Not 0 = -1 ですね。 ワークシートは、なぜ、TRUE が1なのか良く理由は分りませんが、C言語だからでしょうか?VBAは、元々、別ものですから仕方がないにしても、Accessの場合は、分りませんが、関数は、直接、プロシージャなしでVBAを扱っているような気がしてくることがあります。 Excelのワークシート以外は、なるべく、True/False で扱うほうが良いとは思います
質問者
お礼
詳しい説明をありがとうございました。
お礼
詳しい説明をありがとうございました。