Проверьте, есть ли идентификатор в массиве строк в Crystal Report - PullRequest
0 голосов
/ 15 сентября 2018

Я работаю над отчетом о кристаллах.Теперь я добавил новый параметр для CustomerId, чтобы результат отчета можно было отфильтровать в соответствии с этим.

В интерфейсе мы можем выбрать несколько клиентов, поэтому значения будут примерно такими:

strCustomerid = '1,2'; // 1 & 2 are customer ids
* 1005.* Если я выбираю только одного клиента, фильтрация работает отлично, но когда я выбираю несколько, его нет.

Я пробовал что-то вроде приведенного ниже кода в формуле выбора записи Crystal Report

{ihCustomerId} IN {?strCustomerid} 

Тогда я получаюошибка an integer is required here, поэтому мне пришлось преобразовать ее в целое число, я думаю, что именно здесь и произошла ошибка.

{ihCustomerId} IN ToNumber ({?strCustomerid})

Теперь, если я выберу одного клиента, он будет работать отлично, но для нескольких он не даст результата.

Что здесь не так?как я могу это исправить?пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Ваш входящий {? StrCustomerid} выглядит как строка со значениями, разделенными запятой.Поле в данных, которые вы пытаетесь выбрать, выглядит как число {ihCustomerId}, поэтому вам придется сначала разделить каждый элемент {? StrCustomerid}, а затем преобразовать {ihCustomerId} в строку, чтобы затем выполнить сравнение.Это должно работать для вас (в синтаксисе Crysta):

CStr({ihCustomerId},0,"") IN Split({?strCustomerid},",")

CStr преобразуется в строку, а параметры обеспечивают правильное форматирование числа.Split разделит входящий параметр на отдельные элементы в массиве, используя запятую в качестве символа для разделения.

0 голосов
/ 16 сентября 2018

Как насчет решений здесь, я уверен, что они могут помочь вам

Найти текст в строке с C #

ура, es

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...