ACC: Criterion Returns Inconsistent Results in SQL BIT Field

ID: Q117535


The information in this article applies to:


SYMPTOMS

Advanced: Requires expert coding, interoperability, and multiuser skills.

When you run a query in Microsoft Access against a linked (attached) SQL Server table, you may encounter unexpected results if both of the following conditions are met:


CAUSE

When a linked SQL Server table contains a field of type BIT, the field appears as a Yes/No field in Microsoft Access. However, unlike Microsoft Access, an SQL BIT field can contain only the values 0 and 1, whereas a Microsoft Access Yes/No field can contain the values 0 and -1. When you use a value of -1 in the BIT field's criterion, the resulting recordset will contain no records.


RESOLUTION

Do not use -1 as the criterion for a SQL BIT field in Microsoft Access, because the SQL Server will look for that literal value in the attached table. Instead, use either the value 1 or the intrinsic constant True in the SQL BIT field's criterion.


MORE INFORMATION

Steps to Reproduce Behavior


  1. Create a SQL Server table with a field with the BIT type.


  2. In Microsoft Access, link to the table you created in step 1.


  3. Create a query based on the linked table, and use the value -1 for the BIT field's criterion.


  4. Run the query.


Additional query words: odbc sql bit


Keywords          : kbinterop OdbcSqlms 
Version           : 1.0 1.1 2.0 7.0 97
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: April 6, 1999