2014-01-20 2 views
0

Я работаю с Crystal Reports 2011 и запрашиваю Views в движке Pervasive v2011. Я пытаюсь выполнить довольно длинный выбор в Crystal Reports в базе данных Pervasive.Crystal Reports 2011 - проблема «как» в Pervasive Database

Все работает нормально до моего последнего ГДЕ в моем SELECT. У меня есть параметр, и я пытаюсь найти фрагмент, который находится в параметре в полях описания. Я пытаюсь добавить дикие карты в оператор LIKE в поле «Описание», исправив форумлу в «Выбрать эксперт».

Оттуда, кажется, что Кристалл беспорядочно разбирается. В длинном запросе, когда я просматриваю SQL-запрос, кажется, что он совсем не кодирует его (Database> Show SQL Query). Когда я отбрасываю запрос как можно более простой, он правильно кодирует подобное, но ничего не возвращает. Если я скопирую код из большого запроса из Show SQL Query, исправьте аналогичный оператор, затем вставьте его и запустите в PCC, он вернет ожидаемые результаты.

Запрос Порция из Pervasive сгенерированного SQL ("V_PO_LINES". "ОПИСАНИЕ" LIKE '%' или "V_PO_LINES". "ОПИСАНИЕ" LIKE '%' ИЛИ ​​"V_PO_LINES". "ОПИСАНИЕ" КАК «{? LikeText } ')

Query написал (а) Crystal в разделе Упрощенный и упрощенный запрос. SELECT "PO_LINES". "ОПИСАНИЕ" где "PO_LINES". "ОПИСАНИЕ" LIKE '% {? LikeText}%'

SQL надрез из длинного запроса, который работает в ОКК. ("V_PO_LINES". "Описание" LIKE '% {? LikeText}%')

Оператор Select Кристал Выбор эксперта. {V_PO_LINES.DATE_LAST_RECEIVED} <> Дата (не закрыта) и {V_PO_LINES.DATE_DUE_LINE} = {?} Диапазон дат и {V_PO_LINES.VENDOR} = {? Vendor} и { V_PO_LINES.DESCRIPTION} как '%' + {? LikeText} + '%'

Я на 2011 версии 14.04.738 RTM

ли кто-то еще работает в этом? Есть ли исправление или обход?

+0

Можете ли вы вставить соответствующий фрагмент из формулы выбора записи в Crystal? И что вы подразумеваете под словом «... отбрасывать запрос как можно более простой»? – Ryan

+0

Я отредактирую сообщение, основанное на том, что находится в select statement of Crystal. Я изменю вещи, чтобы они были родовыми. То, что я имею в виду, делая это как можно более простым, состоит в том, что я просто делаю подобный запрос в одном поле в одном представлении. Фактический длинный запрос связывает 3 представления и несколько операторов выбора. Все работает на 100% правильно, пока я не добавлю подобное. – user3215616

+0

Я изменил пару думает в избранном экспертном заявлении, чтобы они имели смысл. Not Closed = значение в системе для поля, когда элемент не закрыт. – user3215616

ответ

1

Если ваш параметр {? LikeText} принимает несколько значений, это заставит Crystal обрабатывать знак '+' как оператор add-element-to-array. Так что делать '%' + {?LikeText} + '%' действительно создает массив строк и не один каскадную строка:

[ '%', 'WhatYouEnteredInTheParameter', '%' ]

что приводит к Кристал разбора это в логико-ОШ в SQL. Чтобы исправить это, перейдите в свой параметр и установите «Разрешить множественные значения?». на «Нет».

Я также предлагаю вам использовать '*' вместо '%', который является подстановочным знаком Crystal.

Смежные вопросы