Upload
phungnhu
View
459
Download
5
Embed Size (px)
Citation preview
アジェンダ
1. 移行の概要
2. ActiveX版ActiveReportsからの移行
3. Crystal Reportsからの移行
4. Accessからの移行
5. 質疑応答(Q&Aパネルのチャット利用)
2
押さえておきたいポイント
移行元(ActiveX版AR、Access、Crystal Reports)
移行先(ActiveReports for .NET 9.0J)
移行情報ページ(必見!)
製品ヘルプ「レポートのアップグレード」(必見!)
レイアウト情報 → 移行できる
コード → 基本的には書き直し
5
6
移行パス
ActiveReports for .NET 9.0J
セクションレポート(*.rpx)
ページレポート(*.rdlx)
ActiveReports 2.0J(ActiveX)
Access
インポートウィザード※ActiveReports for .NET 9.0Jに付属
ページレポート(*.rdlx)
ActiveReports 1.0J/1.5J(ActiveX)
Crystal Reports
移行
RPXファイル
RPXファイル
RDLXファイルまたは
PRTファイル
MDBファイル
移行手順のまとめ
移行元 移行ツール 手順 注意事項
ActiveReports
1.0J/1.5J (ActiveX)
なし 一旦ActiveReports 2.0Jへ移行したのち、2.0Jの手順を実施。
直接の移行は不可。
ActiveReports
2.0J(ActiveX)
なし 帳票レイアウトをRPXファイル(*.rpx)として書き出したものを読み込む。
ActiveReports 2.0Jが動作するVB6環境が必要。
Access インポートウィザード
MDBファイル(*.mdb)に含まれる帳票をRPXファイル(*.rpx)またはRDLXファイル(*.rdlx)に書き出したものを読み込む。※1
Access(97以上)のインストールが必要。
Crystal Reports インポートウィザード
帳票ファイル(*.rpt)をRPXファイル(*.rpx)またはRDLXファイル(*.rdlx)に書き出したものを読み込む。※2
Crystal Reports for Visual Studioのインストールが必要。
7
※1 Access2007ファイル形式(*.accdb)には対応していません。※2 Crystal Reportsのアセンブリバージョンが9.x.x.x以降で作成された帳票ファイルに対応。それ以前の
帳票ファイルの場合、9.x.x.x以上のCrystal Reportsへ移行が必要。
ActiveReports年表
98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
1.0J
1.5J
2.0J
1.0J
2.0J
3.0J
6.0J
9.0J
7.0J
10
機能の変遷(.NET)ActiveReports for .NET 7.0J
ActiveReports
for .NET 1.0J
Label
TextBox
CheckBox
RichTextBox
Shape
Picture
Line
PageBreak
BarCode
SubReport
OleObject
ActiveReports
for .NET 2.0J
Label
TextBox
CheckBox
RichTextBox
Shape
Picture
Line
PageBreak
BarCode
SubReport
OleObject
ChartControl
ActiveReports
for .NET 3.0J
Label
TextBox
CheckBox
RichTextBox
Shape
Picture
Line
PageBreak
BarCode
SubReport
OleObject
ChartControl
ReportInfo
ActiveReports
for .NET 6.0J
Label
TextBox
CheckBox
RichTextBox
Shape
Picture
Line
PageBreak
BarCode
SubReport
OleObject
ChartControl
ReportInfo
CrossSectionLine
CrossSectionBox
セクションレポート
Label
TextBox
CheckBox
RichTextBox
Shape
Picture
Line
PageBreak
BarCode
SubReport
OleObject
ChartControl
ReportInfo
CrossSectionLine
CrossSectionBox
Visual Studio 2002
/2003
.NET Framework
1.0/1.1
Windows XP/
Vista/7
Windows Server
2003/2008/2008
R2
ページレポート
Table
Matrix
Chart
CheckBox
List
BandedList
Calendar
SparkLine
FormattedText
Bullet
Barcode
TextBox
Line
Container
Shape
Image
OverflowPlaceholder
プロダクト&
コントロール
実行環境
開発環境
OS Windows 2000/
XP
Windows Server
2003
Visual Studio 2005
/2008/2010
Windows XP/Vista/7/8 /8.1
Windows Server 2003/2008/2008 R2/
2012 /2012 R2
.NET Framework 3.5 SP1/4/4.5 /4.5.1
/4.5.2 (Client Profile含む)
Visual Studio 2008 SP1/2010/2012/
2013
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)
Visual Studio 2003
/2005
Windows 2000
/XP/Vista
Windows Server
2003
.NET Framework
1.1/2.0/3.0
.NET Framework
1.1/2.0/3.0/3.5
Visual Studio 2003
/2005/2008
Windows 2000
/XP/Vista/7
Windows Server
2003/2008/2008
R2
.NET Framework
2.0/3.0/3.5/4
(Client Profile含む)
Windows Vista/7/8 /8.1/10
Windows Server 2008/2008 R2/2012/2012 R2
.NET Framework 3.5 SP1/4/4.5 /4.5.1 /4.5.2/4.6/
4.6.1(Client Profile含む)
Visual Studio 2010/2012/2013/2015
ActiveReports for .NET 9.0J
セクションレポート
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
Viewer
Designer(Pro)
ReportExplorer(Pro)
WebViewer(Pro)
ToolBox(Pro)
LayerList(Pro)
RDLレポート
Table
Matrix
Chart
CheckBox
List
BandedList
Calendar
SparkLine
FormattedText
Bullet
Barcode
TextBox
Line
Container
Shape
Image
SubReport
Map
TableOfContents
基本的には互換性はない
ActiveX版と.NET版で同じ機能を持つコントロールであっても、コントロール
名称が異なるもの、動作や使用方法が異なるものがある
相違点をまとめたPDF資料 http://download2.grapecity.com/PDF/migration/activereportsnet9_diff_activex2dotnet.pdf
11
ActiveX版と.NET版の違い
ActiveReports 2.0J(ActiveX) ActiveReports for .NET 9.0J
12
レイアウト情報の移行
[ファイル]メニューから[保存]を選択し、
レポートをRPX ファイルに保存します。
[レポート]メニューから[レイアウト ファイルを開く]
を選択し、保存したRPX ファイルを読み込みます。
注)ActiveReports 1.0J/1.5Jからは移行不可。帳票デザイナにRPXファイルへの書き出し機能が存在しない。
ActiveReports 2.0J
(ActiveX)
ActiveReports for .NET
9.0J
Field TextBox
Label Label
CheckBox CheckBox
Image Picture
Line Line
OleObject OleObject
PageBreak PageBreak
RichEdit RichTextBox
Shape Shape
SubReport SubReport
Barcode
(ActiveXコントロール)
×※基本クラス「ARControl」に
移行
13
帳票コントロール対応表(ActiveX)
ActiveReports 2.0J
(ActiveX)
ActiveReports for .NET
9.0J
Frame ×※Frame内部のコントロールの
み移行対象
ADOデータコントロール OLEDataSource※Source(SQL)と
ConnectionStringのみ移行
対象
XMLデータコントロール XMLDataSource
※FileURLと
RecordeSetPatternのみ
移行対象
RDOデータコントロール ×
DAOデータコントロール ×
ActiveX版と.NET版ではプラットフォームテクノロジが異なるため、
コード部分は作り直した方が良い
アップグレードウィザード(Visual Studio 2008に付属、2010以降
は付属しない)を利用してもうまくいかない場合が多い
15
コードの移行
[参考]
概要 - .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
ActiveReports 2.0J(ActiveX) ActiveReports for .NET 9.0J
16
コードの違い
‘レポートインスタンスの生成Dim rpt As New SampleReport‘レポートの実行rpt.Run False‘レポートのプレビューrpt.Show()
帳票プレビューのためのコード(VB6) 帳票プレビューのためのコード(VB.NET)
‘レポートインスタンスの生成Dim rpt As New SampleReport‘レポートの実行rpt.Run(False)‘レポートのプレビューMe.Viewer1.Document = rpt.Document
ActiveReports for .NET 9.0JにはShowメソッドが存在しない!
ActiveX版のActiveXビューワ(arview2.cab)は.NET版には存
在しない。FlashビューワやPDFを利用する。
17
Web帳票の重要な変更点
主な機能
(クライアント側接続プリンタへの
○○○機能)
ActiveReports
2.0J(ActiveX)
ActiveReports for .NET 9.0J
ActiveXビューワ Flashビューワ
(Professionalのみ)
PDFビューワ
直接印刷 ○ ○ ○
「プレビュー」無し印刷 ○ ○ ○
「印刷ダイアログ」無し印刷 ○ × ×
コーディングによる設定変更(プリンタ名、
用紙サイズ、用紙方向、etc)
○ × ×
実現不可
※Webアプリケーションでプレビュー表示せずにレポートを印刷する方法は?【※サンプル有り】
http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=37766
ただし、ClickOnceを使用したカスタムアプリで
実現可(※)
ActiveReportsを含む弊社ActiveX製品の移行に関する情報を
集約したコンテンツ
18
.NET移行に関する総合情報
http://www.grapecity.com/tools/support/migration/information.htm
ActiveReports for .NET 9.0Jに付属するスタンドアロン型アプリ
Accessデータベース(*.mdb)/Crystal Reportsファイル
(*rpt)からActiveReportsの帳票定義ファイルを生成
21
インポートウィザード
• Crystal Reports for .NETが環境にインストールされている必要あり。
• Crystal Reportsのアセンブリバージョンが9.x.x.x以降で作成された帳票ファイルからの移行に対応。それ
以前の帳票ファイルの場合、一旦9.x.x.x以上の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
22
Crystal Reports for Visual Studio
Visual Studioで無償利用できるOEM版Crystal Reports
• Visual Basic 6.0 にバンドルされるCrystal Reportsのバージョンは4.6
• Visual Studio 2010以降はCrystal Reportsがバンドルされなくなった。別途インストール
必要
• ActiveReports for .NET 9.0JはVisual Studio 2010/2012/2013/2015をサポート
1. SAP社のダウンロードサイト(http://scn.sap.com/docs/DOC-
7824)にアクセス
2. 最新のインストーラーをダウンロード
3. インストール
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 同上
Picture Container 画像データはインポートされません。
24
帳票コントロール対応表(Crystal Reports)
注)記載のないCrystal Reportsレポートコントロールはインポートされません。
26
移行作業1(Crystal Reports)
①
【前】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
① データ連結フィールドの修正(DB連結できていない!)
【前】xxx.DataField=CustomerName
【後】xxx.DataField=Customer Name ← 半角スペース入る
② データ連結フィールドの修正(DB連結できていない!)
⑤ Salesのレポート合計に対するグループ合計の割合をパーセント
で表示。Crystal ReportsではPercentOfSum式を利用している
が、ActiveReportsには存在しないため、次ページ記載の処理が
必要。
27
移行作業2(Crystal Reports)
⑤
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%");
}
3)グループのBeforePrintイベントでST_LastYearSales/GT_LastYearSalesを
計算する。
2)レポート合計Salesを示す非表示のダミーフィールド(GT)を追加
xxx.DataField=Last Year’s Sales
xxx.SummaryFunc=Sum
xxx.SummaryGroup=GroupHeaderSection1
xxx.SummaryRunning=None
xxx.SummaryType=GrandTotal
xxx.Visible=False
ダミーフィールド 2)
1)グループ合計Salesを示す既存フィールドの名前をSTに変更。3)のコード
内で利用するため便宜上変更。
【前】xxx.Name=Field9
【後】xxx.Name=ST
1)
ActiveReports for .NET 9.0Jに付属するスタンドアロン型アプリ
Accessデータベース(*.mdb)/Crystal Reportsファイル
(*rpt)からActiveReportsの帳票定義ファイルを生成
30
インポートウィザード
注)Accessからの移行の場合、Access(97以上)が環境にインストールされている必要あり
Access ActiveReports for .NET 9.0J 備考
セクションレポート
(*.rpx)
ページレポート/RDLレ
ポート(*.rdlx)
Rectangle(四角形) Shape Container Rectangleコントロール内に配置されているコント
ロールもインポートされる。
CheckBox(チェックボックス) Label TextBox
Image(画像) Image セクションレポートにはインポートされない。
Label(ラベル) Label TextBox
TextBox(テキストボックス) TextBox TextBox
Line(直線) Line Line
Page Break(改ページ) PageBreak Container ページレポート/RDLレポートでは、
PageBreakAtEndプロパティがTrueにセットされる。
Subform/Subreport(サブフォー
ム/サブレポート)
SubReport
31
帳票コントロール対応表(Access)
注)記載のないAccessレポートコントロールはインポートされません。
VBAコードは、ActiveReportsのスクリプト部分にコメントとしてインポートされます。
33
移行作業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
34
移行作業2(Access)
⑨ グループフッタ上の小計
【前】xxx.Text=Sum([明細金額])
【後】
xxx.DataField=明細金額
xxx.SummaryFunc=Sum
xxx.SummaryGroup=GroupHeader1
xxx.SummaryRunning=Group
xxx.SummaryType=SubTotal
【参考】グループヘッダにグループ毎の集計を出力する方法は?
http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=37830
⑨
⑩
⑩グループフッタ上の合計(小計+運送料)
【前】xxx.Text=[小計]+[運送料]
【後】 Before_Printイベントに以下のコード(C#)を記述
public void GroupFooter1_BeforePrint()
{
合計.Value = decimal.Parse(小計.Value.ToString()) +
decimal.Parse(運送料.Value.ToString());
}
参考情報
移行情報 - ActiveReports for .NET 9.0J http://www.grapecity.com/tools/products/activereportsnet9/migration#info
オンラインヘルプ(レポートのアップグレード) http://docs.grapecity.com/help/activereports-9/#Upgrading%20Reports.html
ActiveX版1.0J/1.5Jから2.0Jへ移行する際の注意点 http://www.grapecity.com/tools/support/kb/?id=10427
ActiveX→.NET事例(みずほ情報総研株式会社様) http://www.grapecity.com/tools/info/case/mizuho-ir.htm
オンラインヘルプ(MS Access/Crystal Reportsからの移行) http://docs.grapecity.com/help/activereports-9/Converting%20with%20Import%20Wizard.html
Crystal Reports Versions 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」を設定してください。
質問文は講師が回答するまで他参加者からは見えません。
時間内に回答できなかったものは後日メールで回答させていただきます。
37
All Panelists を
選択質問を入力
最後にSendを
押す
http://goo.gl/forms/7RUhtrpYNH7Jslcn1
以下にアクセスをお願いします。
セミナー終了後に自動送信される「お礼メール」からもア
クセスできます。
38
アンケートにご協力ください!