гороскоп на сегодня у скорпиона любовный гороскоп совместимости любовный гороскоп на 2017 рак девушка подробнее на этой странице нажмите чтобы увидеть больше ссылка на подробности любовный гороскоп гороскоп совместимости совместимость знаков в любви любовный гороскоп любовный гороскоп гороскоп совместимости парень козерог девушка весы гороскоп совместимость гороскоп на месяц любовный рак гороскоп на след неделю девы любовный гороскоп женщина рыба мужчина весы совместимость гороскоп совместимости он телец она овен совместимость любовный увидеть больше гороскоп дева любовный на сегодня и завтра гороскоп основываясь на этих данных на этой странице гороскоп на совместимость телец и рыбы рак гороскоп весы стрелец совместимость на 2017 год гороскоп ссылка сегодня гороскоп совместимость по гороскопу женщина телец мужчина рак совместимость гороскоп секс гороскоп совместимости читать больше гороскоп любовный на сегодня козерогу гороскоп любовный на завтра для стрельца гороскоп любовный на месяц рыбы женщина совместимость гороскопа лев и овен нажмите для продолжения любовный гороскоп двух львов гороскоп неделю гороскоп стрелец женщина и весы мужчина совместимость в браке гороскоп совместимости весы жен овен муж подробнее на этой странице сексуальный гороскоп близнецы женщин гороскоп совместимости она водолей он телец основываясь на этих данных совместимость по гороскопу близнецы скорпион гороскоп совместимости рак и козерог на 2017 гороскоп козы на 2017 любовный гороскоп на завтра лев любовный женщина одинокая перейти увидеть больше совместимость по гороскопу рыба и дева гороскоп женщины любовный гороскоп скорпиона на 2017 год мужчина гороскоп пифагора совместимости знаков зодиака привожу ссылку любовный гороскоп на рыб сегодня по ссылке гороскоп таблица совместимости по годам сексуальный гороскоп водолея и овна любовный гороскоп на месяц для овнов гороскоп совместимости рыбы женщина и рак мужчина совместимость нажмите чтобы увидеть больше гороскоп совместимости по луне и солнцу вот ссылка гороскоп на совместимость женщина телец любовный гороскоп на месяц весы 2017 гороскоп дева телец совместимость совместимость гороскопов лев скорпион посетить страницу гороскоп совместимости знаков зодиаков таблица фото гороскоп совместимости рыба тигр любовный гороскоп женщина козерог 2017 любовный гороскоп козерог на сегодня женщина любовный гороскоп для девы на сегодня и завтра гороскоп стрелец на завтра женщина любовный составить любовный любовный гороскоп водолей на 2017 гороскоп совместимости по знакам зодиака овен и водолей

Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: АлексейЕ
Пусть я и Опаздун, но задел меня вопрос твой, Олег. Решил поразбираться и понять, как эти запросы в Access работают.
Может, кому и пригодится.

Для начала, если твой запрос привести к такому виду,
UPDATE ( 
                    SELECT ostmp_tblObject.typeError,  
                                    ostmp_tblObject.URN  
                    FROM ostmp_tblObject  
                   WHERE checkURN([URN])=False  
                 )  AS s1  
SET s1.typeError = "URN IS INVALID" 
WHERE  (nz([URN],"")<>"") ; 


То, как ни странно, он отработает, так как ты хочешь. (теоретически, т.к. я тестил на другой таблице)

Подключил недокументированную фичу от Microsoft – запись в текстовой файл плана выполнения запроса Jet'ом.
Подергался и вот мои выводы.

1. Если обращение идет, в итоге, к одной и той же таблице, что у основного запроса, что и у вложенного, то Jet приведет такой запрос к запросу без вложенного, т.е. сделает общий Where, что б не шерстить основную таблицу, а затем выборку. Одним махом так, шмяк и выполнил.

Но этот общий Where он формирует таким образом, сначала условие основного запроса And условие вложенного.
Оказалось, так же, что у Jet'а куча комплексов (совсем как у людей).
а) Он «боится» знака неравно '<>', если он встречает такой оператор, то он его переделает в '=' и перед поставит NOT (Но оно наверно и логично, хотя…)
б) Он ненавидит True. Опять же, если встречает, то все сделает, что бы было сравнение с 0. Видимо это связано с тем, что в MS SQL True = 1. Вот, что бы не заморачиваться определением кто представляет данные он с 0 и сравнивает всегда

И так, в твоем варианте, Олег, Jet, по идее, должен сделать такое условие.

"checkURN([URN])= 0 And Not nz([URN],"")=""" (шерстит все строки и [URN] пустое)

В варианте же, который я указал, получим такой план

" Not nz([URN],"")="" And checkURN([URN])=0" (то что нужно)


2. Казалось бы, это противоречит тому, что написал Лукас... Так вот нет, ни капельки. Ведь я выше продемонстрировал, в каком порядке Jet проверяет условие у себя, в нутрях, а не как отображает нам в окне построения запросов.
Если так же просмотреть в плане выполнения запросы Лукаса, то окажется, что Jet его перевернет с ног на голову.
Т.е. в построителе запросов
WHERE checkURN([URN])=False AND Len([URN] & "")>0 )
В плане запросов, что типа
Restrict rows of table Таблица by scanning testing expression "Not Len([URN] & "")=0 And checkURN([URN])=0"

Одного я не понял, если он объединяет в единое условие, и объединяет с помощью AND , то, по идее, согласно человеческой логике, независимо от места положения функции checkURN () она должна отрабатывать всегда… Почему не отрабатывает?
Загадка.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.