[AccessD] brain farts

James Barash James at fcidms.com
Wed Oct 29 17:14:52 CST 2003


I tried this but could not get it to work in Access. It works fine in
SQL Server. When I tried using & I got a concatination of the fields,
not a bitwise AND. Is there some special syntax you need to use for
this?

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart
McLachlan
Sent: Wednesday, October 29, 2003 5:04 PM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] brain farts


Sure you can.  You need to use the "bitwise" oprators, not the 
logical operators:

& (Bitwise AND),
| (Bitwise OR) ,
^ (Bitwise Exclusive OR) 
~ (Bitwise NOT) 

On 29 Oct 2003 at 15:37, James Barash wrote:

> John,
> As far as I know, you cannot use bitwise functions in an SQL 
> statement. You need to create a function to do the comparison. For 
> example:
> 
> Public Function BinaryOr(ByVal val1 As Long, ByVal val2 As Long) As
Long
>     BinaryOr = (val1 Or val2)
> End Function
> 
> Create one function for each binary comparison you need or you could 
> create one function and pass the operator you want to use. Hope this 
> helps.
> 
> James Barash
> 
> 
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John Colby
> Sent: Wednesday, October 29, 2003 2:12 PM
> To: AccessD
> Subject: [AccessD] brain farts
> 
> 
> Folks,
> 
> I'm trying to do boolean operations in a query.  I have a table with 
> bit mapped fields such that the long integer has bits "on" or 1 in 
> specific circumstances.  Now I want to OR in other numbers in SQL.  I 
> have a SQL statement that looks like:
> 
> SELECT MsysForms.FRM_GroupOpen, ([MsysForms]![frm_GroupOpen] Or 1) AS 
> NewVal FROM MsysForms;
> 
> regardless of the value contained in the field frm_GroupOpen, the 
> NewVal is always -1 for an OR or an AND of any other value, and 0 for 
> an XOR.
> 
> If I have a 4 in the field, 4 OR 1 should give me 5, but it is giving 
> me -1. I believe it is "interpreting" it and saying it is true.  But 
> why?
> 
> John W. Colby
> www.colbyconsulting.com
> 
> 
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com 
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 
> _______________________________________________
> AccessD mailing list
> AccessD at databaseadvisors.com 
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com

 
-- 
Lexacorp Ltd
http://www.lexacorp.com.pg
Information Technology Consultancy, Software Development,System Support.



_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list