0
RDLで日付時刻データ型に空の値を与える方法を教えてください。私は次のことを試していますが、データがない行に01/01/00を取得しています。RDLの日付時刻データ型に何も(空の値)を渡す方法
=iif(Fields!D_date.Value is nothing,Nothing,Fields!D_date.Value)
私は
=iif(Fields!D_date.Value=0,Nothing,Fields!D_date.Value)
または
=iif(Fields!D_date.Value="",Nothing,Fields!D_date.Value)
を使用する場合でも、私は私のデータ行でエラーを取得しています。
''をストアドプロシージャに渡しています。その列のデータがない場合
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[uspDBLines]
(@InLinesPerPage int)
AS
DECLARE @TotalRows int
DECLARE @Remainder int
DECLARE @NumPages int
DECLARE @NextPageRows int
SET @TotalRows = 0
SELECT
ROW_NUMBER() OVER (ORDER BY P_id) AS InvoiceRow,
CusID, B_id, Inv_No, B_Desc, D_date, Qty, Size, Price, Amt
INTO
#tempInvoice
FROM
Purchase_Details
SET @TotalRows = @@ROWCOUNT
IF @TotalRows = 0
BEGIN
WHILE @TotalRows < @InLinesPerPage -- Add Blank Rows will generate blank invoice.
BEGIN
SET @TotalRows = @TotalRows + 1
INSERT INTO #tempInvoice (InvoiceRow, CusID, B_id, Inv_No, B_Desc, D_date, Qty, Size, Price, Amt)
VALUES (@TotalRows, '', '', 0, '', '', 0, '', 0, 0)
END
END
ELSE
BEGIN
SET @Remainder = @TotalRows % @InLinesPerPage -- get remainder
IF @Remainder != 0
BEGIN
-- Get the current page increase by 1 because we have a remainder.
SET @NumPages = @TotalRows/@InLinesPerPage + 1
SET @NextPageRows = @NumPages * @InLinesPerPage
WHILE @TotalRows < @NextPageRows -- Add Blank Rows
BEGIN
SET @TotalRows = @TotalRows + 1
INSERT INTO #tempInvoice (InvoiceRow, CusID, B_id, Inv_No, B_Desc, D_date, Qty, Size, Price, Amt)
VALUES (@TotalRows, '', '', 0, '', '', 0, '', 0, 0)
END
END
END
SELECT *
FROM #tempInvoice
ORDER BY InvoiceRow ASC
RETURN
あなたは 'NULL'か空文字列' "" 'を試しましたか? – Stephen
RDLの中に空の文字列を与えるために#Errorがあります。私は表現の中でNULLを試しましたが、インテリセンスは通過できません。 – 4stars
値はどうしますか?他の場所で使っていますか? RDLは、 '= Fields!D_date.Value'だけでは問題ありません。空の場合には、格納されたprocの中に 'NULL'を入れてください。 – Stephen