Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Aktualizowanie dostawcy danych Crystal Reports

O ile ktoś nie ma szybszego / prostszego rozwiązania, oto podejście, którego używam, aby uzyskać krystaliczne raporty działające z MS Access w Visual Studio 2010. Jest nieco bardziej zaangażowana niż normalna metoda wyboru źródła danych, ale zapewnia większą kontrolę, jest bazą danych agnostyczny i działa tam, gdzie inne metody czasami zawodzą (zwłaszcza z MS Access z mojego doświadczenia).

Opiszę szczegółowo proces uruchamiania raportów od początku do końca (ponieważ cały proces może być przydatny dla innych), ale podkreślę elementy, które mogą być dla Ciebie przydatne.

1) Zainstaluj Crystal Reports z witryny SAP. Upewnij się, że pobierasz plik exe, a NIE msi (to nie działa):

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

2) Zmień platformę docelową aplikacji na .Net Framework 4 (NIE klient). Elementy Crystal nie są zawarte w podstawowym profilu.

3) Dodaj odniesienie do bibliotek Crystal (Crystal Reports dla .NET)

4) Dodaj formularz, w tym formularzu umieść kontrolkę Crystal Report Viewer (z sekcji Raportowanie w Przyborniku):

5) Dodaj CrystalReportDocument i przypisz go do kontrolki CrystalReportViewer:

Aby faktycznie wypełnić raport danymi, wykonaj następujące czynności:

1) Wygeneruj schemat raportu, wykonując kod, który pobiera tabelę danych raportu (z bramy) i eksportuje schemat. Na przykład:

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

Jeśli masz już utworzone raporty, prawdopodobnie nie będziesz tego potrzebować. To samo, jeśli możesz ręcznie napisać xml (łatwe, gdy masz szablon do pracy)

2) Następnie ładujesz to do swojego raportu, aby uzyskać pola, którymi możesz następnie manipulować w celu wygenerowania raportu. Aby to zrobić, kliknij prawym przyciskiem myszy pola bazy danych w Eksploratorze pól raportu:

3) Stąd wybierasz Database Expert i wybierasz ADO.net (xml). Logiczny wybór Access/Excel DAO w rzeczywistości nie działa w ogóle w VS 2010. Wybierz plik schematu i załaduj go, a następnie kliknij dwukrotnie tabelę 1, aby wypełnić widok Wybrane tabele:

4) Teraz, gdy masz już załadowany schemat, będziesz mógł zobaczyć pola w menu rozwijanym pól, które możesz przeciągnąć i upuścić na swój raport:

5) Na koniec ładujesz zestaw danych do raportu, wykonując kod w zdarzeniu podczas ładowania formularza, w którym umieściłeś kontrolkę ReportViewer:

i) Upewnij się, że wyprowadzasz zestaw danych (nie tabelę danych) ze swojej bramy (lub gdziekolwiek):

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) Następnie przypisz go do źródła danych w raporcie:

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

Powyższa sekcja prawdopodobnie będzie dla Ciebie szczególnie interesująca, ponieważ pozwala bezpośrednio przypisać źródło danych do raportu bez konieczności korzystania z panelu interfejsu Crystal Select DataSources.

Jest jeszcze jedna wymagana rzecz, musisz dodać "useLegacyV2RuntimeActivationPolicy"Do pliku app.config:

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

Mam nadzieję, że to pomoże, przepraszam, że jest to tak skomplikowane, jeśli masz jakieś pytania, zadaj je




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetl dane z bazy danych do DropDownList w asp.net MVC3

  2. Dlaczego nie mogę użyć aliasu w kolumnie count(*) i odwołać się do niego w klauzuli o?

  3. SQL Server:Jak przechowywać dane binarne (np. plik Word)?

  4. Korzystanie z tabel temp w SSIS

  5. Jak dodać nową kolumnę tożsamości do tabeli w SQL Server?