2009-09-18 30 views
5

Tôi có hai báo cáo. Báo cáo đầu tiên chọn loại báo cáo từ hộp thả xuống và chấp nhận từ/đến ngày và khi nhấp vào báo cáo chế độ xem - liệt kê tên khách hàng cho loại báo cáo này.Chuyển ngày làm tham số cho báo cáo phụ/báo cáo khác để sử dụng làm tham số

Khi bạn nhấp vào customername, báo cáo thứ hai được gọi là (hành động) chuyển 3 thông số - customername, datefromdateto làm thông số được sử dụng trong báo cáo thứ hai.

Khi tôi chạy từng báo cáo riêng lẻ, cả hai đều chạy tốt. Khi tôi chạy báo cáo đầu tiên (chọn loại báo cáo, chọn datefrom/dateto), báo cáo này liệt kê tất cả tên khách hàng cho loại báo cáo này. Khi tôi nhấp vào số customername, tôi gặp lỗi:

'The value provided for the report parameter 'reportdatefrom' is not valid for its type' (rsReportParameterTypeMismatch)

Vui lòng trợ giúp.

Trả lời

1

Sử dụng một cái gì đó như định dạng (Tham số! Reportdatefrom.Value, "YYYYMMDD") để buộc giá trị vào chuỗi kinh điển trước khi chuyển nó vào subreport.

SSRS đôi khi gặp sự cố với thời gian. Địa chỉ URL có nghĩa là tất cả các giá trị tham số được chuyển đổi thành chuỗi theo cách nào đó, nhưng quy tắc chuyển đổi mặc định có thể chạy khác nhau giữa các thành phần. Một thành phần sẽ tạo ra một ngày tháng theo thời gian mà một thành phần khác không thể đọc được. Thông thường điều này là do cài đặt khu vực không phải của Hoa Kỳ.

Nhưng dù sao, để giải quyết vấn đề này, chỉ cần chuyển đổi ngày thành chuỗi ký tự theo dạng chuẩn ODBC trước khi truyền đi.

+2

Biểu thức chuỗi phải ở định dạng đúng: định dạng (Tham số! Reportdatefrom.Value, "yyyyMMdd") (thông báo chữ thường cho năm và ngày).Có vấn đề tương tự và biểu thức sau đây hoạt động trong báo cáo của tôi: = Định dạng (Tham số! Reportdatefrom.Value, "dd/MM/yyyy") –

0

Nó cũng phụ thuộc vào cách bạn chuyển URL vào báo cáo phụ.

Nếu bạn đang đi qua nó thông qua các đối tượng subreport trong báo cáo chính của bạn, và các hành động bất động sản thông qua các tùy chọn URL:

enter image description here

tôi đề nghị bạn tạo ra các chuỗi URL và thêm vào đó lĩnh vực các tham chiếu bạn yêu cầu để đáp ứng các yêu cầu tham số của subreport.

tức

="http://serverXXXX/ReportServer?/FernandoReports/rptTET&rs:Command=Render&rc:toolbar=false&wsTETID=" + Fields!TETID.Value.ToString() 

Bằng cách đó bạn đang bắt buộc SSRS để làm cho toàn bộ giá trị trường là một chuỗi với giá trị chính xác từ bảng Fields.

0

Kiểm tra Loại Parameter trong báo cáo 2ST Cả hai thông số! Từ và thông số! Để là Loại Datetime nhưng tôi không biết những gì phương pháp bạn gọi báo cáo 2ST nhưng trong trường hợp của tôi, tôi bạn theo cách này

Nhấp chuột phải vào Textbox> Properties> chọn Action trên khung bên trái> chọn tới báo cáo tùy chọn như hình ảnh dưới đây

enter image description here

sau đó thêm tham số để gửi báo cáo 2ST.

Đảm bảo thông số! Từ và Tới (cả hai báo cáo) là Loại ngày giờ.

Các vấn đề liên quan