ник: access_newb
А я полагаю, что это не так. Причем здесь вообще истина/ложь? В выражении GetMyTableID() or Not GetMyTableID() не говорится об Истине или Лжи. Когда мы говорим MyTableID = Not GetMyTableID() - это значит, что MyTableID <> GetMyTableID() - проверьте сами. Access сам ставит "<>" вместо "= Not". Поэтому:
Вариант 1.
GetMyTableID() вернет какое-то число <> 0
WHERE MyTableID=GetMyTableID() or Not GetMyTableID()
т.е. в предыдущей строке сказано, что MyTableID д.б. равен GetMyTableID() (в данном случае какому-то числу, отличному от нуля) или не равен GetMyTableID() (какому-то числу, отличному от нуля), т.е. запрос выведет все значения.
Вариант 2.
GetMyTableID() вернет 0 - тоже самое только вокруг нуля - множество чисел неравных нулю + сам нуль.