最新ActiveReportsへの ”移行”のイロハがわかるWebセミナー グレープシティ株式会社 2016年6月16日 アジェンダ 1. 2. 3. 4. 5. 移行の概要 ActiveX版ActiveReportsからの移行 Crystal Reportsからの移行 Accessからの移行 質疑応答(Q&Aパネルのチャット利用) 2 Road to ActiveReports for .NET 9.0J 移行の概要 4 押さえておきたいポイント 移行元(ActiveX版AR、Access、Crystal Reports) 移行先(ActiveReports for .NET 9.0J) 移行情報ページ(必見!) 製品ヘルプ「レポートのアップグレード」(必見!) レイアウト情報 → 移行できる コード → 基本的には書き直し 5 移行パス ActiveReports 1.0J/1.5J (ActiveX) 移行 ActiveReports 2.0J (ActiveX) Access Crystal Reports MDB ファイル PRT ファイル インポートウィザード ※ActiveReports for .NET 9.0Jに付属 RPX ファイル RPX ファイル または RDLX ファイル ActiveReports for .NET 9.0J セクションレポート (*.rpx) ページレポート (*.rdlx) ページレポート (*.rdlx) 6 移行手順のまとめ 移行元 移行ツール 手順 ActiveReports 1.0J/1.5J (ActiveX) なし 一旦ActiveReports 2.0Jへ移行した 直接の移行は不可。 のち、2.0Jの手順を実施。 ActiveReports 2.0J(ActiveX) なし 帳票レイアウトをRPXファイル ActiveReports 2.0Jが動作 (*.rpx)として書き出したものを するVB6環境が必要。 読み込む。 Access インポートウィ ザード MDBファイル(*.mdb)に含まれ る帳票をRPXファイル(*.rpx)ま たはRDLXファイル(*.rdlx)に書 き出したものを読み込む。※1 Access(97以上)のイン ストールが必要。 Crystal Reports インポートウィ ザード 帳票ファイル(*.rpt)をRPXファ イル(*.rpx)またはRDLXファイ ル(*.rdlx)に書き出したものを 読み込む。※2 Crystal Reports for Visual Studioのインストールが 必要。 ※1 ※2 注意事項 Access2007ファイル形式(*.accdb)には対応していません。 Crystal Reportsのアセンブリバージョンが9.x.x.x以降で作成された帳票ファイルに対応。それ以前の 帳票ファイルの場合、9.x.x.x以上のCrystal Reportsへ移行が必要。 7 ActiveReports 2.0J -> ActiveReports for .NET 9.0J ActiveX版ActiveReportsからの移行 8 ActiveReports年表 1.0J 1.5J 2.0J 1.0J 2.0J 3.0J 6.0J 7.0J 9.0J 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 機能の変遷(.NET) プロダクト& コントロール ActiveReports for .NET 1.0J ActiveReports for .NET 2.0J ActiveReports for .NET 3.0J ActiveReports for .NET 6.0J ActiveReports for .NET 7.0J セクションレポート ページレポート ActiveReports for .NET 9.0J セクションレポート ページレポート RDLレポート Label TextBox CheckBox RichTextBox Shape Picture Line PageBreak BarCode SubReport OleObject Label TextBox CheckBox RichTextBox Shape Picture Line PageBreak BarCode SubReport OleObject ChartControl Label TextBox CheckBox RichTextBox Shape Picture Line PageBreak BarCode SubReport OleObject ChartControl ReportInfo Label TextBox CheckBox RichTextBox Shape Picture Line PageBreak BarCode SubReport OleObject ChartControl ReportInfo CrossSectionLine CrossSectionBox Viewer Designer(Pro) ReportExplorer(Pro) WebViewer(Pro) ActiveXビューワ Viewer Designer(Pro) ReportExplorer(Pro) WebViewer(Pro) ActiveXビューワ Viewer Designer(Pro) ReportExplorer(Pro) WebViewer(Pro) ActiveXビューワ Viewer Designer(Pro) ReportExplorer(Pro) WebViewer(Pro) ToolBox(Pro) Viewer Designer(Pro) ReportExplorer(Pro) WebViewer(Pro) ToolBox(Pro) Viewer Designer(Pro) ReportExplorer(Pro) WebViewer(Pro) ToolBox(Pro) LayerList(Pro) 実行環境 .NET Framework 1.0/1.1 .NET Framework 1.1/2.0/3.0 .NET Framework 1.1/2.0/3.0/3.5 .NET Framework 2.0/3.0/3.5/4 (Client Profile含む) .NET Framework 3.5 SP1/4/4.5 /4.5.1 /4.5.2 (Client Profile含む) .NET Framework 3.5 SP1/4/4.5 /4.5.1 /4.5.2/4.6/ 4.6.1(Client Profile含む) 開発環境 Visual Studio 2002 /2003 Visual Studio 2003 /2005 Visual Studio 2003 /2005/2008 Visual Studio 2005 /2008/2010 Visual Studio 2008 SP1/2010/2012/ 2013 Visual Studio 2010/2012/2013/2015 OS Windows 2000/ XP Windows Server 2003 Windows 2000 /XP/Vista Windows Server 2003 Windows 2000 /XP/Vista/7 Windows Server 2003/2008/2008 R2 Windows XP/ Vista/7 Windows Server 2003/2008/2008 R2 Windows XP/Vista/7/8 /8.1 Windows Server 2003/2008/2008 R2/ 2012 /2012 R2 Windows Vista/7/8 /8.1/10 Windows Server 2008/2008 R2/2012/2012 R2 Label TextBox CheckBox RichTextBox Shape Picture Line PageBreak BarCode SubReport OleObject ChartControl ReportInfo CrossSectionLine CrossSectionBox Table Matrix Chart CheckBox List BandedList Calendar SparkLine FormattedText Bullet Barcode TextBox Line Container Shape Image OverflowPlaceholder Label TextBox CheckBox RichTextBox Shape Picture Line PageBreak BarCode SubReport OleObject ChartControl ReportInfo CrossSectionLine CrossSectionBox Table Matrix Chart CheckBox List BandedList Calendar SparkLine FormattedText Bullet Barcode TextBox Line Container Shape Image OverflowPlaceholder Map TableOfContents Table Matrix Chart CheckBox List BandedList Calendar SparkLine FormattedText Bullet Barcode TextBox Line Container Shape Image SubReport Map TableOfContents 10 ActiveX版と.NET版の違い 基本的には互換性はない ActiveX版と.NET版で同じ機能を持つコントロールであっても、コントロール 名称が異なるもの、動作や使用方法が異なるものがある 相違点をまとめたPDF資料 http://download2.grapecity.com/PDF/migration/activereportsnet9_diff_activex2dotnet.pdf 11 レイアウト情報の移行 ActiveReports 2.0J(ActiveX) [ファイル]メニューから[保存]を選択し、 レポートをRPX ファイルに保存します。 ActiveReports for .NET 9.0J [レポート]メニューから[レイアウト ファイルを開く] を選択し、保存したRPX ファイルを読み込みます。 注)ActiveReports 1.0J/1.5Jからは移行不可。帳票デザイナにRPXファイルへの書き出し機能が存在しない。 12 帳票コントロール対応表(ActiveX) ActiveReports 2.0J (ActiveX) ActiveReports for .NET 9.0J ActiveReports 2.0J (ActiveX) ActiveReports for .NET 9.0J Field TextBox Frame × Label Label CheckBox CheckBox Image Picture ADOデータコントロール OLEDataSource Line Line OleObject OleObject PageBreak PageBreak XMLデータコントロール RichEdit RichTextBox Shape Shape XMLDataSource ※FileURLと RecordeSetPatternのみ 移行対象 SubReport SubReport RDOデータコントロール × Barcode (ActiveXコントロール) × DAOデータコントロール × ※Frame内部のコントロールの み移行対象 ※Source(SQL)と ConnectionStringのみ移行 対象 ※基本クラス「ARControl」に 移行 13 帳票レイアウト移行結果(ActiveX) ActiveReports 2.0J(ActiveX) ActiveReports for .NET 9.0J 14 コードの移行 ActiveX版と.NET版ではプラットフォームテクノロジが異なるため、 コード部分は作り直した方が良い アップグレードウィザード(Visual Studio 2008に付属、2010以降 は付属しない)を利用してもうまくいかない場合が多い [参考] 概要 - .NET移行情報 | GrapeCity Developer Tools http://www.grapecity.com/tools/support/migration/ 私はコレで、VB 6を卒業しました - @IT http://www.atmarkit.co.jp/fdotnet/vblab/opensemi_02 /opensemi_02_01.html 15 コードの違い ActiveReports 2.0J(ActiveX) ActiveReports for .NET 9.0J 帳票プレビューのためのコード(VB6) 帳票プレビューのためのコード(VB.NET) ‘レポートインスタンスの生成 Dim rpt As New SampleReport ‘レポートの実行 rpt.Run False ‘レポートのプレビュー rpt.Show() ‘レポートインスタンスの生成 Dim rpt As New SampleReport ‘レポートの実行 rpt.Run(False) ‘レポートのプレビュー Me.Viewer1.Document = rpt.Document ActiveReports for .NET 9.0JにはShowメソッドが存在しない! 16 Web帳票の重要な変更点 ActiveX版のActiveXビューワ(arview2.cab)は.NET版には存 在しない。FlashビューワやPDFを利用する。 主な機能 (クライアント側接続プリンタへの ○○○機能) ActiveReports 2.0J(ActiveX) ActiveReports for .NET 9.0J ActiveXビューワ Flashビューワ (Professionalのみ) PDFビューワ 直接印刷 ○ ○ ○ 「プレビュー」無し印刷 ○ ○ ○ 「印刷ダイアログ」無し印刷 ○ × × コーディングによる設定変更(プリンタ名、 ○ 用紙サイズ、用紙方向、etc) × × 実現不可 ただし、ClickOnceを使用したカスタムアプリで 実現可(※) ※Webアプリケーションでプレビュー表示せずにレポートを印刷する方法は?【※サンプル有り】 http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=37766 17 .NET移行に関する総合情報 ActiveReportsを含む弊社ActiveX製品の移行に関する情報を 集約したコンテンツ http://www.grapecity.com/tools/support/migration/information.htm 18 ActiveReports 2.0J帳票「請求書」を移行する DEMO 19 Crystal Reports -> ActiveReports for .NET 9.0J Crystal Reportsからの移行 20 インポートウィザード ActiveReports for .NET 9.0Jに付属するスタンドアロン型アプリ Accessデータベース(*.mdb)/Crystal Reportsファイル (*rpt)からActiveReportsの帳票定義ファイルを生成 注) • Crystal Reports for .NETが環境にインストールされている必要あり。 • Crystal Reportsのアセンブリバージョンが9.x.x.x以降で作成された帳票ファイルからの移行に対応。それ 以前の帳票ファイルの場合、一旦9.x.x.x以上のCrystal Reportsへ移行が必要。 21 Crystal Reports for Visual Studio Visual Studioで無償利用できるOEM版Crystal Reports Visual Studio Crystal Reports Crystal Reportsのアセンブリバージョン 2002 Crystal Reports for Visual Studio .NET 2002 9.1.3300 2003 Crystal Reports for Visual Studio .NET 2003 9.1.5000 2005 Crystal Reports for Visual Studio 2005 10.2.3600 2008 Crystal Reports for Visual Studio 2008 10.5.3700 2010/2012/2013/2015 SAP Crystal Reports for Visual Studio 13.0.2000 • Visual Basic 6.0 にバンドルされるCrystal Reportsのバージョンは4.6 • Visual Studio 2010以降はCrystal Reportsがバンドルされなくなった。別途インストール 必要 • ActiveReports for .NET 9.0JはVisual Studio 2010/2012/2013/2015をサポート 22 Crystal Reportsのインストール方法 2. SAP社のダウンロードサイト(http://scn.sap.com/docs/DOC7824)にアクセス 最新のインストーラーをダウンロード 3. インストール 1. 23 帳票コントロール対応表(Crystal Reports) Crystal Reports ActiveReports for .NET 9.0J 備考 セクションレポート (*.rpx) ページレポート/RDLレ ポート(*.rdlx) Box Shape Container 線の太さと角丸のボックスは反映されません。 複数セクションに跨っている場合には、Lineコント ロールとしてインポートされます。 CrossTab SubReport BandedList SubReportコントロールが配置されますが、クロス 集計部分はインポートされません。 Line Line Line 点線や破線、鎖線は、その間隔が異なります。 Subreport SubReport TextObject Label TextBox 特殊フィールドは、「ページ番号」、「合計ページ 数」、「ページ数(N/M)」のみサポートされます。 FieldObject TextBox TextBox 同上 Container 画像データはインポートされません。 Picture サブレポートを連結するには、インポート後にコード を記述しなおす必要があります。 注)記載のないCrystal Reportsレポートコントロールはインポートされません。 24 帳票レイアウト移行結果(Crystal Reports) Crystal Reports帳票 ActiveReports帳票 25 移行作業1(Crystal Reports) ① データ連結フィールドの修正(DB連結できていない!) 【前】xxx.DataField=CustomerName 【後】xxx.DataField=Customer Name ← 半角スペース入る ② データ連結フィールドの修正(DB連結できていない!) ① ③ ② ⑤ 【前】xxx.DataField=LastYear'sSales 【後】xxx.DataField=Last Year‘s Sales ← 半角スペース入る ③ データ連結フィールドの修正(DB連結できていない!) 【前】xxx.DataField=Customer.LastYear'sSales 【後】xxx.DataField=Last Year‘s Sales ← 半角スペース入る ②③ 桁区切り、通貨記号の設定 ④ 【後】xxx.OutputFormat=¥#,##0 ④ Countryで昇順にソート 【前】レポートデータソースのクエリ=select * from Customer 【後】レポートデータソースのクエリ=select * from Customer order by Country ⑤ Salesのレポート合計に対するグループ合計の割合をパーセント で表示。Crystal ReportsではPercentOfSum式を利用している が、ActiveReportsには存在しないため、次ページ記載の処理が 必要。 26 移行作業2(Crystal Reports) 1)グループ合計Salesを示す既存フィールドの名前をSTに変更。3)のコード 内で利用するため便宜上変更。 【前】xxx.Name=Field9 【後】xxx.Name=ST ダミーフィールド 1) 2) ⑤ 2)レポート合計Salesを示す非表示のダミーフィールド(GT)を追加 xxx.DataField=Last Year’s Sales xxx.SummaryFunc=Sum xxx.SummaryGroup=GroupHeaderSection1 xxx.SummaryRunning=None xxx.SummaryType=GrandTotal xxx.Visible=False 3)グループのBeforePrintイベントでST_LastYearSales/GT_LastYearSalesを 計算する。 public void GroupHeaderSection1_BeforePrint() { // Crystal ReportsのPrcentOfSum関数に相当する処理 decimal percent_of_sum = 0; string a = string.Format("{0:#}", ST.Value); string b = string.Format("{0:#}", GT.Value); percent_of_sum = decimal.Parse(a) / decimal.Parse(b); this.PercentOfSum.Text = percent_of_sum.ToString("0.00%"); } 27 Crystal Reports帳票を移行する DEMO 28 Access -> ActiveReports for .NET 9.0J Accessからの移行 29 インポートウィザード ActiveReports for .NET 9.0Jに付属するスタンドアロン型アプリ Accessデータベース(*.mdb)/Crystal Reportsファイル (*rpt)からActiveReportsの帳票定義ファイルを生成 注)Accessからの移行の場合、Access(97以上)が環境にインストールされている必要あり 30 帳票コントロール対応表(Access) Access ActiveReports for .NET 9.0J セクションレポート (*.rpx) ページレポート/RDLレ ポート(*.rdlx) Rectangle(四角形) Shape Container CheckBox(チェックボックス) Label TextBox Image(画像) Image Label(ラベル) Label TextBox TextBox(テキストボックス) TextBox TextBox Line(直線) Line Line Page Break(改ページ) PageBreak Container Subform/Subreport(サブフォー ム/サブレポート) SubReport 備考 Rectangleコントロール内に配置されているコント ロールもインポートされる。 セクションレポートにはインポートされない。 ページレポート/RDLレポートでは、 PageBreakAtEndプロパティがTrueにセットされる。 注)記載のないAccessレポートコントロールはインポートされません。 VBAコードは、ActiveReportsのスクリプト部分にコメントとしてインポートされます。 31 帳票レイアウト移行結果(Access) Access帳票 ActiveReports帳票 32 移行作業1(Access) ① Access関数(日付)の設定 【前】xxx.Text=Format(Date(),"Long Date") 【後】xxx.DataField=System.DateTime.Now、xxx.OutputFormat=yyyy年M月d日 ② 文字列連結式の置換の設定 ① 【前】xxx.Text="〒 " & [出荷先郵便番号] 【後】xxx.DataField="〒 " + 出荷先郵便番号 ③ Access条件式(IIF)の設定 【前】xxx.Text=IIf([出荷先都道府県] Is Null," " & [出荷先住所1],[出荷先都道府県] & " " & [出荷先住所1]) 【後】xxx.DataField=(出荷先都道府県 == System.DBNull.Value) ? 出荷先住所1 : 出 荷先都道府県 + " " + 出荷先住所1 ② ③ ⑦ ⑧ ④ ④ 日付書式の追加 【後】xxx.OutputFormat=yyyy/M/d ⑤⑥ 桁区切り、通貨記号の設定 ⑤ ⑥ 【後】xxx.OutputFormat=¥#,##0 ⑦ データ連結フィールドの設定(うまく移行できなかったもの) 【前】xxx.DataField=運送会社.運送会社 【後】xxx.DataField=運送会社 ⑧ グループ化の設定 【後】GroupHeader1.DataField=受注コード 【参考】PowerTools ActiveReports for .NET 9.0J - フィールド式を追加する http://docs.grapecity.com/help/activereports-9/#Add%20Field%20Expressions.html 33 移行作業2(Access) ⑨ グループフッタ上の小計 【前】xxx.Text=Sum([明細金額]) 【後】 xxx.DataField=明細金額 xxx.SummaryFunc=Sum xxx.SummaryGroup=GroupHeader1 xxx.SummaryRunning=Group xxx.SummaryType=SubTotal ⑩グループフッタ上の合計(小計+運送料) 【前】xxx.Text=[小計]+[運送料] 【後】 Before_Printイベントに以下のコード(C#)を記述 ⑨ ⑩ public void GroupFooter1_BeforePrint() { 合計.Value = decimal.Parse(小計.Value.ToString()) + decimal.Parse(運送料.Value.ToString()); } 【参考】グループヘッダにグループ毎の集計を出力する方法は? http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=37830 34 Access帳票「納品書」を移行する DEMO 35 参考情報 移行情報 - ActiveReports for .NET 9.0J オンラインヘルプ(レポートのアップグレード) http://docs.grapecity.com/help/activereports-9/Converting%20with%20Import%20Wizard.html Crystal Reports Versions http://www.grapecity.com/tools/info/case/mizuho-ir.htm オンラインヘルプ(MS Access/Crystal Reportsからの移行) http://www.grapecity.com/tools/support/kb/?id=10427 ActiveX→.NET事例(みずほ情報総研株式会社様) http://docs.grapecity.com/help/activereports-9/#Upgrading%20Reports.html ActiveX版1.0J/1.5Jから2.0Jへ移行する際の注意点 http://www.grapecity.com/tools/products/activereportsnet9/migration#info https://msdn.microsoft.com/ja-jp/library/ms225607(v=vs.90).aspx SAP Crystal Reports, developer version for Microsoft Visual Studio http://scn.sap.com/docs/DOC-7824 36 Q&A ご質問のある方は、Web Ex Event Centerの「Q&Aパネル」から質問 を投稿してください。講師とチャット風の質疑応答ができます。 質問の宛先は「All Panelists」を設定してください。 質問文は講師が回答するまで他参加者からは見えません。 時間内に回答できなかったものは後日メールで回答させていただきます。 質問を入力 All Panelists を 選択 最後にSendを 押す 37 アンケートにご協力ください! 以下にアクセスをお願いします。 セミナー終了後に自動送信される「お礼メール」からもア クセスできます。 http://goo.gl/forms/7RUhtrpYNH7Jslcn1 38
© Copyright 2024 Paperzz