Автор: 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)
не очень понимаю, как отсюда можно вызвать конструктор
Тут треба дійти до потрібного місця відладчиком, а вже значення змінної з текстом запиту запихнути в конструктор.