Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Актуализиране на доставчика на данни на Crystal Reports

Освен ако някой няма по-бързо/просто решение, ето подхода, който използвам, за да получа кристални отчети, работещи с MS Access във Visual Studio 2010. Той е малко по-ангажиран от нормалния метод за избор на източник на данни, но предлага повече контрол, е база данни агностик и работи там, където другите методи понякога се провалят (особено с MS Access според моя опит).

Ще опиша подробно процеса на работа на отчетите от началото до края (тъй като целият процес може да е полезен за други), но ще подчертая частите, които могат да бъдат полезни за вас.

1) Инсталирайте Crystal Reports от сайта на SAP. Уверете се, че сте изтеглили exe файла, НЕ msi (не работи):

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

2) Променете целевата рамка на вашето приложение на .Net Framework 4 (НЕ клиент). Кристалните неща не са включени в основния профил.

3) Добавете препратка към библиотеките на Crystal (Crystal Reports за .NET)

4) Добавете формуляр, върху този формуляр поставете контрола на Crystal Report Viewer (от секцията Reporting на кутията с инструменти):

5) Добавете CrystalReportDocument и го присвоете на контролата CrystalReportViewer:

За да попълните действително отчета с данни, трябва да направите следното:

1) Изведете схемата на вашия отчет, като изпълните код, който взема таблицата с данни на вашия отчет (от шлюз) и експортира схемата. Например:

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

Ако вече имате създадени отчети, вероятно няма да имате нужда от това. Същото, ако можете да напишете xml на ръка (лесно, след като имате шаблон, по който да работите)

2) След това зареждате това във вашия отчет, за да получите полетата, които след това можете да манипулирате, за да създадете своя отчет. За да направите това, щракнете с десния бутон върху полетата на базата данни в Explorer Field Explorer:

3) От тук избирате Database Expert и ADO.net (xml). Логичният избор на Access/Excel DAO всъщност изобщо не работи във VS 2010. Изберете вашия файл със схема и го заредете, след което щракнете двукратно върху Table1, за да попълните изгледа Selected Tables:

4) След като имате заредена схема, ще можете да видите полета в падащото меню с полета, които можете да плъзнете и пуснете във вашия отчет:

5) Накрая зареждате набор от данни във вашия отчет, като изпълнявате код в събитието при зареждане на вашия формуляр, върху което сте поставили контролата за преглед на отчети:

i) Уверете се, че извеждате набор от данни (без данни) от вашия шлюз (или където и да е):

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) След това го присвоете на източника на данни в отчета:

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

Секцията по-горе вероятно ще бъде особено интересна за вас, защото ви позволява директно да присвоите източника на данни към отчета, без да се налага да използвате панела за потребителски интерфейс за избор на кристални източници на данни.

Има още нещо необходимо, трябва да добавите „useLegacyV2RuntimeActivationPolicy“ към файла app.config:

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

Надявам се това да помогне, съжалявам, че е толкова намесено, ако имате въпроси, моля, попитайте




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вътрешни елементи на SQL Server:Проблемни оператори Pt. I – Сканиране

  2. Време за изчакване на връзката за SQL сървър

  3. SQL групиране по месец и година

  4. Поправете съобщение 529 „Не е позволено изрично преобразуване от тип данни int в xml“ в SQL Server

  5. TSQL ЗА XML ЯВНО