2016-10-11 13 views
0

入力パラメータとしてIDと名前を持つレポートを作成しています。これらのパラメータは、リストのwhere句で使用され、リストからレコードを取得します。入力パラメータに+記号がある場合、SSRSは機能しません

入力パラメータ=「記録+物語」:

問題がある場合は+は、名前の代わりにスペースが表示されます(私は、フィルタを表示するページに印刷することを)名前にパラメータを署名することです レポートに表示されるパラメータ:「記録ストーリー」

名前が一致しないため、選択結果は空です。

私には何が欠けていますか?

EDIT:VB6に基づいてクライアントアプリケーションからレポートを開きます。メインページにはテーブルとリストIDがあります。リストの行をクリックすると、フィルタリングを実行して必要なデータのみを表示するIEページにリダイレクトされます。 パラメータは次のとおりです。id - 整数、および名前 - テキスト。

IEページを開くと、名前にプラス記号が含まれている場合は、代わりに空白が表示されていることがわかりますが、結果としてレポートは空です。

既に、クライアントアプリケーションのVB6にSystem.Web参照を追加しようとしましたが、動作しません。

ここに私が意味するものを明確にするための写真。

enter image description here

あなたがURLエンコードに文字列を必要とすることも可能である

C.

+0

がどのようにパラメータを移入しているがこれはコードの後ろに進値を使用することによって達成されますか?また、どのデータ型をパラメータとして使用していますか? –

+0

@BradSyputaで提案されているように、あなたのURLをエンコードする必要があります。 –

答えて

0

ありがとうございます。この記事を見てください。最後に

http://capstonebi.blogspot.com/2010/04/url-encoding-in-reporting-services.html

+0

[ヘルプセンター](http://stackoverflow.com/help/how-to-answer)から:外部リソースへのリンクが推奨されていますが、リンクの周りにコンテキストを追加して、仲間のユーザーが何かを理解できるようにしてくださいそしてなぜそれがそこにあるのか。ターゲットサイトに到達できない場合や、永続的にオフラインになる場合は、常に重要なリンクの最も関連性の高い部分を引用してください。 – Adam

0

私は解決策を得ました。私は+記号が+記号として読み取られるように、私のパラメータをエンコードする必要があります。

例:namewithplussign ==>置き換え(namewithplussign、 "+"、 "%2bに")