Совершенству нет предела.
Изрядно поэксперементировав и поизучав примеры я всё таки нашел способ. Проверку завернул в подзапрос.
Проблема: нужно передать id текущей строки в подзапрос - как?
в основном запросе определяем таблицу в переменную: T_video AS tv
в подзапросе текущий id указывается в параметре: T_video.idVideo=tv.idVideo
SELECT tv.idVideo, T_nositel.nameNositel, T_type.nameType
FROM T_type INNER JOIN (T_video AS tv INNER JOIN (T_nositel INNER JOIN T_VN ON T_nositel.idNositel = T_VN.idN) ON tv.idVideo = T_VN.idV) ON T_type.idType = T_nositel.typeNositel
WHERE NOT Exists (
SELECT 1
FROM T_video INNER JOIN (T_nositel INNER JOIN T_VN ON T_nositel.idNositel = T_VN.idN) ON T_video.idVideo = T_VN.idV
WHERE T_nositel.typeNositel=3 AND T_video.idVideo=tv.idVideo);
Akina, в оригинальной базе сделал статический запрос по вашей идее и добавил его в нужные запросы. работает суперски!
В безе из примера чуток поменял запрос: убрал лишнюю таблицу и сравнивал не со словом, а id.
SELECT T_VN.idV
FROM T_nositel INNER JOIN T_VN ON T_nositel.idNositel = T_VN.idN
GROUP BY T_VN.idV
HAVING (((Sum([typeNositel]=3))=0));
В оригинале таблица T_type имеет 20 строк и две колонки. Так что такое упрощение не получиться.
Проверил. Запрос выводит нужную запись. Но если в запрос добавить еще поля, то Access снова выводит все кассеты (см. Запрос: вывести всё ), но уже без файлов.
Этим запросом "оптимизирую" свою функцию, будет быстрее работать.
За идею благодарю :)
Когда строк мало, да рабочий вариант. В оригинальной базе более 50 тыс. записей. Приблизительно половина не оцифрована. И еще фильтры по названию и типе кассеты ... Сейчас буду думать как это прикрутить себе.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Изрядно поэксперементировав и поизучав примеры я всё таки нашел способ. Проверку завернул в подзапрос.
Проблема: нужно передать id текущей строки в подзапрос - как?
в основном запросе определяем таблицу в переменную: T_video AS tv
в подзапросе текущий id указывается в параметре: T_video.idVideo=tv.idVideo