Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cập nhật nhà cung cấp dữ liệu của báo cáo pha lê

Trừ khi ai đó có giải pháp nhanh hơn / đơn giản hơn, đây là cách tôi sử dụng để có được các báo cáo tinh thể hoạt động với MS Access trong Visual Studio 2010. Nó liên quan nhiều hơn một chút so với phương pháp chọn nguồn dữ liệu thông thường, nhưng nó cung cấp nhiều quyền kiểm soát hơn, là cơ sở dữ liệu bất khả tri và hoạt động khi các phương pháp khác đôi khi không thành công (đặc biệt là với MS Access theo kinh nghiệm của tôi).

Tôi sẽ trình bày chi tiết quá trình làm cho các báo cáo hoạt động từ đầu đến cuối (vì toàn bộ quy trình này có thể hữu ích cho những người khác) nhưng sẽ nêu bật các bit có thể hữu ích cho bạn.

1) Cài đặt các Báo cáo Tinh thể trên trang SAP. Đảm bảo bạn tải xuống tệp exe, KHÔNG PHẢI tệp msi (nó không hoạt động):

http://scn.sap.com/docs/DOC-7824

2) Thay đổi Khung mục tiêu của ứng dụng của bạn thành .Net Framework 4 (KHÔNG phải ứng dụng khách). Công cụ Pha lê không có trong hồ sơ cơ bản.

3) Thêm tham chiếu đến thư viện Crystal (Crystal Reports cho .NET)

4) Thêm biểu mẫu, trên biểu mẫu đó đặt điều khiển Trình xem Báo cáo Pha lê (từ phần Báo cáo của Hộp công cụ):

5) Thêm CrystalReportDocument và gán nó cho điều khiển CrystalReportViewer:

Để thực sự điền dữ liệu vào báo cáo, bạn làm như sau:

1) Xuất lược đồ báo cáo của bạn bằng cách thực thi mã lấy dữ liệu báo cáo của bạn (từ một cổng) và xuất lược đồ. Ví dụ:

<TestMethod()>
Public Sub SchemaTest()
    Dim dataSet As DataSet = StaticDataGateway.AccountingIncomeTotals
    dataSet.WriteXmlSchema("I:\Myschema.xml")
End Sub

Nếu bạn đã tạo báo cáo của mình, bạn có thể sẽ không cần điều này. Tương tự nếu bạn có thể viết xml bằng tay (dễ dàng khi bạn có mẫu để làm việc từ đó)

2) Sau đó, bạn tải dữ liệu này vào báo cáo của mình để lấy các trường mà sau đó bạn có thể thao tác để tạo báo cáo của mình. Để thực hiện việc này, bạn nhấp chuột phải vào các trường cơ sở dữ liệu trong Trình khám phá Trường Báo cáo:

3) Từ đây bạn chọn Chuyên gia cơ sở dữ liệu và chọn ADO.net (xml). Lựa chọn hợp lý của Access / Excel DAO thực sự không hoạt động chút nào trong VS 2010. Chọn tệp giản đồ của bạn và tải nó, sau đó nhấp đúp vào Table1 để điền vào dạng xem Bảng đã chọn:

4) Bây giờ bạn đã tải một lược đồ, bạn sẽ có thể thấy các trường trong danh sách thả xuống các trường mà bạn có thể kéo thả vào báo cáo của mình:

5) Cuối cùng, bạn tải tập dữ liệu vào báo cáo của mình bằng cách thực thi mã trong trường hợp tải biểu mẫu của bạn mà bạn đã đặt điều khiển người xem báo cáo trên:

i) Đảm bảo rằng bạn xuất một tập dữ liệu (không thể lập dữ liệu) từ cổng của bạn (hoặc bất cứ nơi nào):

Public Shared Function AccountingIncomeTotals() As DataSet
    Dim dataSet As New DataSet
    Dim dataTable As DataTable = Database.GetDataTable(GetCommand(DBC.Reporting.SPs.AccountingIncomeTotals))
    dataSet.Tables.Add(dataTable)
    Return dataSet
End Function

ii) Sau đó gán nó vào nguồn dữ liệu trên báo cáo:

Private Sub AccountingIncomeTotals_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    AccountingIncomeTotalsReport1.SetDataSource(StaticDataGateway.AccountingIncomeTotals)
End Sub

Phần trên có thể sẽ đặc biệt thú vị với bạn vì nó cho phép bạn chỉ định trực tiếp nguồn dữ liệu cho báo cáo mà không cần phải sử dụng bảng điều khiển Giao diện người dùng DataSources chọn tinh thể.

Còn một thứ nữa là bắt buộc, bạn cần thêm "useLegacyV2RuntimeActivationPolicy" vào tệp app.config:

http:/ /www.codeproject.com/Questions/390643/Error-When-use-of-crystal-report-sap-crystal-13-an

Tôi hy vọng điều này sẽ hữu ích, xin lỗi vì nó quá liên quan, nếu bạn có bất kỳ câu hỏi nào, vui lòng hỏi




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật bảng SQL Server với dữ liệu cục bộ

  2. Không thể hủy quá trình khôi phục giao dịch SPID

  3. Nối các bảng với các hàng

  4. Lỗi JDBC của SQL Server trên Java 8:Trình điều khiển không thể thiết lập kết nối an toàn với SQL Server bằng cách sử dụng mã hóa Lớp cổng bảo mật (SSL)

  5. Tạo nhiều hơn một chỉ mục không phân cụm trên cùng một cột trong SQL Server