最新ActiveReportsへの ”移行”のイロハがわかるWebセミナー

最新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