2017-01-30 5 views
0

Я не уверен, что это возможно в построителе отчетов или нет. Я хочу поместить текстовое поле в отчет Report Builder, а затем выполнить поиск в базе данных для конкретного человека и отобразить его в подзаголовке. Возможно ли это, и если да, то как бы вы предложили мне это сделать? Я пробовал исследовать его в Интернете без успеха.Поиск базы данных в построителе отчетов 3.0

+2

Ваш вопрос не имеет смысла. Вы говорите, что хотите, чтобы пользователь мог вводить значения, которые затем открывали вспомогательный отчет с подробной информацией о том, что было искажено? – iamdave

+0

Похоже, вы хотите использовать параметры, хотя понять, что вы хотите здесь, сложно. – 3N1GM4

+0

Ваш вопрос не имеет смысла. Вы говорите, что хотите, чтобы пользователь мог вводить значения, которые затем открывали вспомогательный отчет с подробной информацией о том, что было искажено? Да, я хочу иметь текстовые поля для первого и последнего имени человека, затем нажмите кнопку «Поиск», которая будет запускать запрос и возвращать информацию и отображать ее в подзаголовке. –

ответ

0

Эта часть будет производить параметр, в котором ваш пользователь может ввести все, что они хотят

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

Предполагая, что вы возвращаете свои данные с помощью SQL-запроса, вы можете ссылаться на эти параметры в своем сценарии набора данных. Если, например, у вас параметр называется FirstName и другой называется Surname, и вы только хотели возвращать значения в наборе данных, которые соответствовали как именно, вы бы ссылаться на эти параметры следующим образом:

select PersonID 
     ,FirstName 
     ,Surname 
     ,OtherDetails 
from PersonTable 
where FirstName = @FirstName 
    and Surname = @Surname 

Если вы предпочли бы иметь более функции типа «поиск», вы можете использовать оператор и групповые символы SQL like, хотя имейте в виду, что это будет иметь потенциально негативное воздействие на вашей производительности запросов:

select PersonID 
     ,FirstName 
     ,Surname 
     ,OtherDetails 
from PersonTable 
where FirstName like '%'[email protected]+'%' 
    and Surname like '%'[email protected]+'%' 

В этой части показано, как изменить этот параметр, чтобы он отображал раскрывающееся меню. Эта деталь не является обязательной.

Если вы хотите предоставить список доступных параметров для выбора, вы можете создать параметр, имеющий список «Доступные значения». Они могут быть вручную введены самим собой - жесткое их кодирование в дизайн отчета - или вы можете сделать их данными, основанными на базировании параметра на втором наборе данных.

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

-- select distinct so we have no duplicates 
select distinct PersonID as Value -- Value is what is used to the query. This ideally will be a uniquye identifier 
       ,FirstName 
       + ' ' 
       + Surname as Label -- Label is what the user sees. This can be a bit more verbose and detailed 
from PersonTable 
order by Surname      -- Specify how you want the options ordered 
     ,FirstName 

Если вы установите этот набор данных в качестве источника, выбрав в параметрах параметры Get Values From A Query, вы увидите раскрывающийся список при запуске отчета. Затем пользователи могут выбрать один, нажмите Run Report и их влияние на данные, которые будут возвращены.

+0

Благодарим вас за советы. Еще один вопрос. Есть ли что-то в построителе отчетов 3.0, которые я могу использовать, чтобы ввести тип пользователя в значение, а затем запустить запрос? Я не хочу использовать раскрывающийся список параметров, потому что выбор довольно длинный. Я хотел бы использовать что-то вроде текстового окна, но когда я попробовал, он не дал мне ввести поле. –

+0

Вот что делает первая половина моего ответа.Параметр предлагает только список элементов, если вы сообщите об этом, то есть: предоставив ему список или привязав его к набору данных, как я это сделал во второй части моего ответа. Если у вас просто есть параметр, называемый '@ FirstName' без параметров, пользователи могут вводить все, что им нужно, и это значение будет использоваться в вашем запросе, как указано выше. Попробуйте и посмотрите, все ли это имеет смысл. – iamdave

+0

Это имеет смысл. Я ищу какой-то способ в построителе отчетов, чтобы позволить пользователю вводить что-то вроде имени, а затем запрос поступает в базу данных и находит информацию, которую я хочу отобразить для этого объекта. Одна из баз данных, которые я пытаюсь сделать, имеет около 220 000 записей, и это будет слишком много для того, чтобы пользователь просматривал поиск одной конкретной записи. –