Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
On our internal mailing list a user asked "When I retrieve a column of type JET_coltypBit that is set to true, why do I get 0xFF and not 0x1"?
My co-worker Ketan had to reach deep into his memory for the answer :-)
In the very old days, the Jet API was designed as a replacement for the BC7 ISAM. BC = Microsoft Basic Compiler.
https://msdn.microsoft.com/en-us/library/wts33hb3(VS.80).aspx
"When Visual Basic converts Boolean values to numeric types, False becomes 0 and True becomes -1."
Now why would do they do this? Because Basic treated Boolean/Bitwise as being the "same" operation. What does "NOT" do? It flips all the bits; hence
TRUE = NOT FALSE
-1 = ~0