Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Порядок выполнения запроса в зависимости от значения NULL одного из полей / 12 сообщений из 12, страница 1 из 1
26.11.2016, 18:38
    #39355114
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Здравствуйте.
Можно ли написать В ОДНОМ ЗАПРОСЕ на обновление, чтобы если поле [Дата постановки на учет] НЕ является пустым, то запрос выполняется так:

UPDATE Пациенты SET Примечание = 'Поднят с архива, первоначальная дата взятия'&" "&CStr([Дата постановки на учёт]);

, а если оно является пустым, то так:

UPDATE Пациенты SET Примечание = 'Поднят с архива'; ?
...
Рейтинг: 0 / 0
26.11.2016, 19:32
    #39355129
Лысёк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Лысёк, всё понял, что через IIF. Спасибо.
...
Рейтинг: 0 / 0
26.11.2016, 19:45
    #39355138
Lieutenant Pigeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Лысёк,

коль уж так легко проблема складывалась и так легко решилась(?)...

... позволю себе заметить, что особенностью IIf является то, то обе части вычисляются безусловно... так что - прикидывай...
.
...
Рейтинг: 0 / 0
26.11.2016, 20:31
    #39355157
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Lieutenant Pigeon... позволю себе заметить, что особенностью IIf является то, то обе части вычисляются безусловно...
.IIf в VBA и IIf в SQL - две разные функции.
В SQL вторая часть не вычисляется, если первая сработала.
...
Рейтинг: 0 / 0
26.11.2016, 20:39
    #39355158
Lieutenant Pigeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
не совсем такLieutenant Pigeon... позволю себе заметить, что особенностью IIf является то, то обе части вычисляются безусловно...
.IIf в VBA и IIf в SQL - две разные функции.
В SQL вторая часть не вычисляется , если первая сработала.

Я не в контексте поспорить... просто взял себе за аксиому.

не потому, что не доверяю тебе, но...
...пруф нужен на жирное ...
.
--------------
Мне лично легче принять на всю оставшуюся ограничение, налагоемое VB, чем помнить о поблажке от SQL... да и оговорки там возникнут на диалектах и интерпретации их...

Тем более, что можно и за Switch тему затронуть...
.
...
Рейтинг: 0 / 0
26.11.2016, 20:48
    #39355160
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Lieutenant Pigeonне совсем такпропущено...
IIf в VBA и IIf в SQL - две разные функции.
В SQL вторая часть не вычисляется , если первая сработала.

Я не в контексте поспорить... просто взял себе за аксиому.

не потому, что не доверяю тебе, но...
...пруф нужен на жирное ...
.
Конечно. Сейчас попробую в закладках поискать. Может оказаться не так скоро.
...
Рейтинг: 0 / 0
26.11.2016, 20:52
    #39355162
Lieutenant Pigeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Lieutenant Pigeon,

чивой-то я совсем сумбурно выразился...

не совсем так, сорри.

Вместо:
Lieutenant PigeonЯ не в контексте поспорить... просто взял себе за аксиому.
Я хотел сказать следующее:
Lieutenant PigeonНе ради спора. Просто концептуально, в качестве программерского подхода, чтобы голову не забивать, я принял для себя за правило именно VB-шное, консервативное поведение..
...
Рейтинг: 0 / 0
26.11.2016, 21:04
    #39355167
Lieutenant Pigeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
не совсем такLieutenant Pigeonпропущено...


Я не в контексте поспорить... просто взял себе за аксиому.

не потому, что не доверяю тебе, но...
...пруф нужен на жирное ...
.
Конечно. Сейчас попробую в закладках поискать. Может оказаться не так скоро.

Спасибо.

Не упирайся, конечно, сильно... мой-то интерес чисто любопытственный в силу моего консервативного подхода, но для тех, у кого SQL и иже с ним актуален принципиально - будет, конечно же, важно...

Но, повторюсь, если мы что-то пишем на VB, формируя строку для SQL, используя идентичные по синтаксису, но разные по интерпретации директивы, то...

... может лучше ну его нафек?
:)
.
...
Рейтинг: 0 / 0
26.11.2016, 21:16
    #39355171
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Lieutenant Pigeon,

Что-то никак не найду. Но помню точно, что это так.
То ли у Алекса Брауна встречалось, то ли в каких переводах...

Мне, вообще-то, не сложно воспринимать эти функции по-разному.
Но, конечно, дело привычки.
Это свойство функции использую в SQL так - первым ставлю более вероятное выражение,
чтобы второе реже вычислялось - для некоторого ускорения работы.
...
Рейтинг: 0 / 0
26.11.2016, 21:30
    #39355179
Порядок выполнения запроса в зависимости от значения NULL одного из полей
Lieutenant Pigeon,

Вот это:перевод: http://alx-artamonov.narod.ru/index/0-13 Обратите внимание: функция JET IIf() намного более эффективна, чем одноименная функция в VBA. Функция VBA тратит время на оценку и истинной и ложной части и генерирует ошибки, если какая-нибудь из частей не срабатывает (даже если эта часть не нужна.) У JET-овской функции IIf() подобных проблем нет.оригинал: http://allenbrowne.com/QueryPerfIssue.html Note: JET's IIf() is much more efficient than the similarly named function in VBA. The VBA one wastes time calculating both the True and False parts, and generates errors if either part does not work out (even if that part is not needed.) The JET IIf() does not have these problems.
...
Рейтинг: 0 / 0
26.11.2016, 21:49
    #39355188
Lieutenant Pigeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
не совсем так,

шикарно!
Спасибо за труды.

Я-то с пьяных шар тоже бросился искать - задежавюил, что слыхал когда-то где-то...

Надо бы жирным выделить:

http://allenbrowne.com/QueryPerfIssue.html

Note: JET's IIf() is much more efficient than the similarly named function in VBA. The VBA one wastes time calculating both the True and False parts, and generates errors if either part does not work out (even if that part is not needed.) The JET IIf() does not have these problems.

Но я не согласен с тем, что они поизиционируют это как проблему...
.
...
Рейтинг: 0 / 0
26.11.2016, 23:14
    #39355215
Lieutenant Pigeon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Порядок выполнения запроса в зависимости от значения NULL одного из полей
не совсем такчтобы второе реже вычислялось - для некоторого ускорения работы.

... хм-м

восток - дело тонкое ...

Если плясать от этой печки, то,..

.., переходя к чистому VB (я в SQL не волоку), можно на 99 и 9 рекомендовать Select Case. В моем коде практически нет If...Then. Вообще(!) нет IfElse , не говоря уж об обсуждаемых выше.

Но и в этом случае... в случае Select Case ... ИЩА ВЫИГРЫША, мы приходим к утонченному, непредвзятому, глубокому пониманию программистом задачи...

Если мы действительно ищем ВЫИГРЫША, если мы действительно(!) нуждаемся в нем, то обязан быть вдумчивый, разносторонний статистический анализ поступающих на эту конструкцию данных. Не разовый, а накопленный годами эксплуатации на продакшене.

В противном случае - все это от лукавого....
.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Порядок выполнения запроса в зависимости от значения NULL одного из полей / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]