Visual Studio 2010で簡単なレポートを作成していますが、元々は直接クエリがあります。
SELECT
DOCDATE, DOCID, CUSTNMBR, CUSTNAME, DOCAMNT
FROM
SOP30200
WHERE
(DOCDATE BETWEEN @Fromdate AND @Todate)
GROUP BY
DOCDATE, DOCID, CUSTNMBR, CUSTNAME, DOCAMNT
HAVING
(CUSTNAME = @Custname OR @Custname IS NULL) AND (DOCID IN (@DocID))
DOCID
パラメータを「複数の値を許可する」に設定すると、うまく機能します。
ただし、ストアドプロシージャを作成すると、次のようになります。
CREATE Procedure [dbo].[Jae_EraSales]
@Custname nVARCHAR(MAX),
@DocID nVARCHAR(50),
@Fromdate datetime,
@Todate datetime
as
SELECT
DOCDATE, DOCID, CUSTNMBR, CUSTNAME, DOCAMNT
FROM
SOP30200
WHERE
(DOCDATE BETWEEN @Fromdate AND @Todate)
GROUP BY
DOCDATE, DOCID, CUSTNMBR, CUSTNAME, DOCAMNT
HAVING
(CUSTNAME = @Custname) AND (DOCID IN (@DocID))
GO
ストアドプロシージャをデータセットとして使用します...SSRSレポートは何もプルしません。単一のDOCID
値を持つデータのみをプルします。
なぜそれが起こっているのか誰かが説明できるでしょうか?
前もって感謝します!