Версия для печати темы (https://pro1c.org.ua/index.php?s=6e96c6c8053462095f8de38085d2585f&showtopic=17488)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Базы данных _ Запрос MS access, не могу понять условие

Автор: onsamuy 11.04.14, 11:17

Доброго всем дня. Переношу базу из аксесса в 1С, натолкнулся в запросе на выражение, никак не могу его понять. Вот запрос

SELECT 
dbo_txnEntry.MTCN,
...
dbo_txnEntry.Account AS AcctNum

FROM dbo_txnEntry" _
WHERE (((dbo_txnEntry.SetDateUS) Between " & Me.Combo2.Value & " AND " & Me.Combo4.Value & ") AND (  (((dbo_txnEntry.OperatorID) Is Not Null) OR ((dbo_txnEntry.OperatorID) Is Null))  OR (dbo_txnEntry.Adjustment_ID) <> -1))


Не могу понять вот эту часть ((((dbo_txnEntry.OperatorID) Is Not Null) OR ((dbo_txnEntry.OperatorID) Is Null)) OR (dbo_txnEntry.Adjustment_ID) <> -1)

Если поубирать лишнее и упростить до логического понимания, то выходит следующее
(dbo_txnEntry.OperatorID Is Not Null ИЛИ dbo_txnEntry.OperatorID Is Null) ИЛИ (dbo_txnEntry.Adjustment_ID <> -1)


Еще упрощаем
(Null ИЛИ Не Null) ИЛИ (<> -1)

Тогда вообще условие теряет смысл... Или надо мной ктото подшутил

Автор: Petre 11.04.14, 11:32

Судя по пробелам и двойным скобкам, можно предположить, что запрос изначально имел другой вид и активно редактировался без целостной оптимизации.
Теряет смысл "Null ИЛИ Не Null", а далее - другое поле.

Автор: vadim007 11.04.14, 12:31

Цитата(onsamuy @ 11.04.14, 12:17) *
Тогда вообще условие теряет смысл... Или надо мной ктото подшутил

MS Access еще не такие штуки выкидывает, если запрос, составленный в конструкторе, смотреть как SQL.

Автор: onsamuy 11.04.14, 12:35

нет, скобки сам ставит конструктор аксесс. А может быть и нет. Вобщем решил это условие не использовать

Цитата(vadim007 @ 11.04.14, 13:31) *
MS Access еще не такие штуки выкидывает, если запрос, составленный в конструкторе, смотреть как SQL.


там нет конструктора, текст запроса определен непостредственно в форме

Автор: vadim007 11.04.14, 12:50

В форме Acsess'а? В источнике записей, или формы или элемента формы, источником которого является этот запрос, нажмите "...", и вызовется построитель запросов. Он м.б. в режиме Контруктор, или SQL.

Автор: onsamuy 11.04.14, 13:57

Цитата(vadim007 @ 11.04.14, 13:50) *
В форме Acsess'а? В источнике записей, или формы или элемента формы, источником которого является этот запрос, нажмите "...", и вызовется построитель запросов. Он м.б. в режиме Контруктор, или SQL.


не очень понимаю, как отсюда можно вызвать конструктор

Автор: andr_ 31.03.15, 16:46

Цитата(onsamuy @ 11.04.14, 14:57) *
не очень понимаю, как отсюда можно вызвать конструктор


Тут треба дійти до потрібного місця відладчиком, а вже значення змінної з текстом запиту запихнути в конструктор.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua