Hi,
Just thought I'd help resolve the last bit

....
Create an acccess table with two fields: BitIndex & BitBinary.
Enter the following:
BitIndex BitWise
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
16 10000
17 10001
18 10010
19 10011
20 10100
21 10101
22 10110
23 10111
24 11000
25 11001
26 11010
27 11011
28 11100
29 11101
30 11110
31 11111
32 100000
33 100001
34 100010
35 100011
36 100100
37 100101
38 100110
39 100111
40 101000
41 101001
42 101010
43 101011
44 101100
45 101101
46 101110
47 101111
48 110000
49 110001
50 110010
51 110011
52 110100
53 110101
54 110110
55 110111
56 111000
57 111001
58 111010
59 111011
60 111100
61 111101
62 111110
63 111111
Then, the query you are generating, use the following for each bitwise entry as described above.
IIf((( SELECT BitWise.BitWise FROM BitWise WHERE BitIndex=CheckBoxesTicked )-1) Mod 10=0,-1,0) AS One, IIf((( SELECT BitWise.BitWise FROM BitWise WHERE BitIndex=CheckBoxesTicked)\10-1) Mod 10=0,-1,0) AS Two................
where CheckBoxesTicked has a value of between 0-63
Clearly, I only did the first 64 entries.. real pain!
enjoy.