本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[ACC2]SQL ServerのテーブルのBIT型フィールドへ抽出条件を設定する方法

文書番号: 404064

最終更新日: 1997/11/01


この資料は以下の製品について記述したものです。

この記事は、以前は次の ID で公開されていました: JP404064

概要

SQL Server の BIT 型フィールドを含むテーブルをアタッチし、クエリーを使ってそのフィールドの抽出条件に -1 を設定した場合には、データは 1 件も抽出されません。ここでは、その原因と回避方法を説明します。

現象

SQL Server4.2,6.0 の BIT 型のフィールドは、Access2.0 の Yes/No 型のフィールドに対応します。BIT 型フィールドをもったテーブルをアタッチすると、BIT 型フィールドはYes/No 型 になっています。
Access の Yes/No 型のフィールドには、Yes/No や True/False、On/Off などに対応して、-1 か 0 が格納されます。しかし、BIT 型のフィールドには、1 か 0 が格納されます。したがって、BIT 型フィールドに対する抽出条件に -1 を設定した場合、条件を満たすレコードは 1 件もありません。抽出条件には、1 を設定するか、定数 True を設定してください。条件に True を設定した場合、次のような SELECT 文が SQL Server4.2,6.0 へ渡されます。フィールドの値が 0 かどうかで判断し、その否定をとっているので、正しくデータを抽出することができます。以下に、クエリーで選択する場合の SQL 文のサンプルを紹介します。
  -------------------------------------------------------------------
    SELECT * FROM dbo.test WHERE NOT((bit_field = 1 ) )
          dbo.test   -> SQL Server にアタッチしたテーブル名
          bit_field  -> BIT 型のフィールド
  -------------------------------------------------------------------

Keywords: KBHOWTO KB404064
Technology: kbAccess200 kbAccessSearch

inserted by FC2 system