Game On.
1-5: Use Pat's general method, but in a different order
WHERE Not (Field2 Is Null And Field3 Is Null AND Field2 Is Null);
WHERE Not (Field2 Is Null And Field1 Is Null AND Field3 Is Null);
WHERE Not (Field3 Is Null And Field2 Is Null AND Field1 Is Null);
WHERE Not (Field3 Is Null And Field1 Is Null AND Field2 Is Null);
WHERE Not (Field1 Is Null And Field3 Is Null AND Field2 Is Null);
6-11: Use Pat's general method, but use IsDate instead of testing for null:
WHERE Not (isdate(Field1)=false And isdate(Field2)=false AND isdate(Field3)=false);
+ the 5 other field permutations
12-48: Combine the prior 2 methods:
WHERE Not (isdate(Field1)=false And isdate(Field2)=false AND Field3 Is Null);
WHERE Not (Field2 Is Null And isdate(Field3)=false AND Field1 Is Null);
+ the 34 other field/function permutations
49-54: Use Pat's logic, but flip it to Not Null and ORs:
WHERE (Field1 Is Not Null Or Field2 Is Not Null Or Field3 Is Not Null);
+ the 5 other field permutations
54-60: Let the valuse resolve to true/false implicitly:
WHERE (Field1 OR Field2 OR Field3);
+ the 5 other field permutations
61-96: Combine the prior 2 methods:
WHERE (Field1 Is Not Null Or Field2 Or Field3 Is Not Null);
WHERE (Field2 Or Field3 Or Field1 Is Not Null;
+ the other 34 permutations
97-103: Make a string out of all the fields seperated by a space and then test that string's length:
WHERE len(Field1 & "-" & Field2 & " " & Field3)>2;
+ the 5 other field permutations
104-207: Build a VBA function for each of the ways listed above and call that from the WHERE:
WHERE All3FieldsNull(Field1, Field2, Field3)=False;
207-310: Build complementary functions such that they resolves to true:
WHERE AtLeastOneFieldNotNull(Field1, Field2, Field3);