Member 11398913 Ответов: 1

Как передать список идентификаторов в массиве из формы VB в отчет crystal


мне нужно передать многие идентификаторы типа integer, выбранные пользователем, и включить их в качестве массива в Формулу выбора sql-запросом, чтобы получить данные из sql server в crystal report

он показывает мне сообщение об ошибке сообщение
при попытке показать отчет crystal
оно говорит ...
the ) отсутствует.

когда я копирую код в sql sever qury, он работает..

Что я уже пробовал:

Dim ListOfSortedID As New List(Of Integer)
 Dim IDs As String = Nothing

 IDs = String.Join(",", ListOfSortedID)

        Where4Crystal ="{DutyView.EmpAutoID} in (" & IDs & ")"

Maciej Los

Что такое сообщение об ошибке?

1 Ответов

Рейтинг:
11

Maciej Los

Попробовать это:

Dim ListOfSortedID As New List(Of Integer)
'later
Dim IDs As String = String.Join(",", ListOfSortedID)
Where4Crystal = String.Format("{DutyView.EmpAutoID} in [{0}]", IDs)


Вам нужны квадратные скобки вокруг IN оператор.

Примечание: насколько я помню, в операторе IN есть ограничение до 32 аргументов.


Member 11398913

Все еще не работает ? если есть какой-то другой способ , потому что есть еще параматеры для Where4Crystal string for query.

Maciej Los

А как вы их используете? Подобный этому:

Where4Crystal = String.Format("({DutyView.EmpAutoID} in [{0}]) AND ({TextField}='{1}')", IDs, "some text")

Member 11398913

большое спасибо за Вашу поддержку, я просто меняю ( IDs ) в коде на [ IDs], и теперь он работает, я действительно ценю вашу помощь.

Maciej Los

Всегда пожалуйста.