2008-09-02 54 views

Trả lời

-1

Tôi đoán bạn đang nói về các tệp .rdl từ Dịch vụ báo cáo? (Nếu không, câu trả lời của tôi có thể sai)

Về cơ bản chúng chỉ là XML, vì vậy bạn có thể tải từng truy vấn trong và thực hiện truy vấn XPath để nhận nút chứa nguồn dữ liệu và cập nhật nó.

1

Báo cáo phụ được liên kết (ít nhất là trong CR XI) chia sẻ nguồn dữ liệu của báo cáo chính - có lẽ báo cáo của bạn đã được định cấu hình sao cho đó không phải là tùy chọn cho bạn?

1

@Unsliced ​​Tôi nghĩ rằng vấn đề anh ta gặp phải là khi bạn lấy một báo cáo tinh thể mà ai đó đã phát triển dựa vào cơ sở dữ liệu khác và đưa nó vào Crystal Reports XI, bạn phải thay đổi Datasource cho từng trường, bao gồm cả trong subreports. Nếu bạn chỉ thay đổi nguồn ở cấp cao nhất của báo cáo, nó thường bị lỗi. (Tôi nghĩ rằng đó là một vấn đề được biết đến trong Crystal Reports).

6

Dưới đây là cách tôi đặt kết nối của mình khi chạy. Tôi nhận được thông tin kết nối từ một vị trí cấu hình.

 #'SET REPORT CONNECTION INFO 
     For i = 0 To rsource.ReportDocument.DataSourceConnections.Count - 1 
      rsource.ReportDocument.DataSourceConnections(i).SetConnection(crystalServer, crystalDB, crystalUser, crystalPassword) 
     Next 

     For i = 0 To rsource.ReportDocument.Subreports.Count - 1 
      For x = 0 To rsource.ReportDocument.Subreports(i).DataSourceConnections.Count - 1 
       rsource.ReportDocument.OpenSubreport(rsource.ReportDocument.Subreports(i).Name).DataSourceConnections(x).SetConnection(crystalServer, crystalDB, crystalUser, crystalPassword) 
      Next 
     Next 
+0

Tôi thấy điều này hữu ích nhất cho việc thiết lập kết nối khi chạy. –

2

Nếu bạn chỉ làm điều này như một thỏa thuận một lần, đề xuất của tôi có thể không giúp ích. Nhưng, nếu bạn thay đổi nguồn dữ liệu thường xuyên, nó có thể hữu ích.

Tuyên bố từ chối trách nhiệm: Tôi chưa từng làm việc với Crystal kể từ phiên bản 9.0, vì vậy tôi không biết liệu họ có cải thiện điều này hay không. Tôi luôn sử dụng UDL files. Về cơ bản, nó là một con trỏ đến một nguồn dữ liệu. Thiết lập báo cáo của bạn để trỏ đến UDL và UDL trỏ đến nguồn dữ liệu. Nếu nguồn thay đổi, chỉ cần cập nhật UDL.

Điều này cực kỳ hữu ích nếu bạn có nhiều báo cáo. Bạn chỉ phải cập nhật một tệp khi máy chủ thay đổi.

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