sql >> データベース >  >> RDS >> Sqlserver

CrystalReportsのデータプロバイダーの更新

    誰かがより速く/より簡単な解決策を持っていない限り、これがVisual Studio2010でMSAccessでクリスタルレポートを機能させるために使用するアプローチです。データソースを選択する通常の方法よりも少し複雑ですが、より多くの制御を提供します。データベースです。不可知論者であり、他の方法が失敗することがある場合に機能します(特に、私の経験ではMS Accessの場合)。

    レポートを最初から最後まで機能させるプロセスについて詳しく説明しますが(プロセス全体が他の人にも役立つ可能性があるため)、役立つ可能性のある部分を強調します。

    1)SAPサイトからCrystalReportsをインストールします。 msiファイルではなくexeファイルをダウンロードしてください(機能しません):

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

    2)アプリのターゲットフレームワークを.Net Framework 4(クライアントではない)に変更します。クリスタルのものは基本プロファイルに含まれていません。

    3)Crystalライブラリ(Crystal Reports for .NET)への参照を追加します

    4)フォームを追加し、そのフォームにCrystal Report Viewerコントロールを配置します(ツールボックスの[レポート]セクションから):

    5)CrystalReportDocumentを追加し、CrystalReportViewerコントロールに割り当てます。

    レポートに実際にデータを入力するには、次のようにします。

    1)レポートデータテーブルを(ゲートウェイから)取得し、スキーマをエクスポートするコードを実行して、レポートスキーマを出力します。例:

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

    すでにレポートを作成している場合は、おそらくこれは必要ありません。手動でxmlを記述できる場合も同じです(作業するテンプレートがあれば簡単です)

    2)次に、これをレポートにロードして、レポートを作成するために操作できるフィールドを取得します。これを行うには、レポートフィールドエクスプローラーでデータベースフィールドを右クリックします。

    3)ここから、Database Expertを選択し、ADO.net(xml)を選択します。 Access / Excel DAOの論理的な選択は、実際にはVS 2010ではまったく機能しません。スキーマファイルを選択してロードし、Table1をダブルクリックして[SelectedTables]ビューにデータを入力します。

    4)スキーマがロードされたので、フィールドドロップダウンにフィールドが表示され、レポートにドラッグアンドドロップできます。

    5)最後に、reportviewerコントロールを配置したフォームのon loadイベントでコードを実行して、データセットをレポートにロードします。

    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
    

    上記のセクションは、Crystal Select DataSources UIパネルを使用せずに、データソースをレポートに直接割り当てることができるため、おそらく特に興味深いものになります。

    もう1つ必要なことは、「useLegacyV2RuntimeActivationPolicy」をapp.configファイルに追加する必要があることです。

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

    これがお役に立てば幸いです。ご迷惑をおかけして申し訳ありません。ご不明な点がございましたら、お問い合わせください




    1. シーケンスがPostgresに存在するかどうかを確認します(plpgsql)

    2. JavaScript(Postgres DB)-WHERE IN()句のパラメーターとして配列を使用したプリペアドステートメントの使用方法

    3. IRI製品の命名法とアーキテクチャ

    4. MSSQLエラー'基になるプロバイダーがOpenで失敗しました'