Top > OOoBasic > Base > Reports

* レポート [#cb8a30c9]
Base ドキュメントに埋め込まれたレポートドキュメント。

レポートドキュメントは普通の Writer ドキュメントに隠しコントロールフィールドを挿入したものです。 インターフェースをサポートおり、そのインターフェースのメソッドを使用して親ドキュメントへアクセスできます。


** レポートコンテナ [#hbb760a2]

 Sub Reports_1
   oDoc = StarDesktop.getCurrentComponent()
   oReports = oDoc.getReportDocuments()
 End Sub

** レポートの読み込み [#f33444de]
 Sub Reports_2
   oDoc = StarDesktop.getCurrentComponent()
   Dim args(1) As New
   args(0).Name = "ActiveConnection"
   args(0).Value = oDoc.DataSource.getConnection("", "")
   args(1).Name = "OpenMode"
   args(1).Value = "open"
   oReports = oDoc.getFormDocuments()
   oReports = oDoc.getReportDocuments()
   oReports.loadComponentFromURL("ReportName", "_blank", 0, args)
 End Sub

編集する場合には OpenMode に openDesign を指定します。

** レポートドキュメントの構成 [#g5fe6313]
レポートドキュメントは普通の Writer ドキュメントと変わりありませんが、レポートに表示するレコードの指定などが隠しフォームコントロールとして埋め込まれています。

フォーム名は ReportSource を使用します。また、レポートの部分はセクション RecordSection に入れられています。表は Tbl_RecordSection。

-  CommandType~
Command で指定したコマンドの種類を integer で指定

- QueryName~
CommandType がクエリー (1) のときにはクエリー名。コマンドの時には空

- Command~
CommandType がコマンド (0) のときにはレコードを取得するコマンド。CommandType に指定した種類のコマンド

- GroupFieldNames

- FieldNames~

- RecordFieldNames~
レコード中でのフィールド名をセミコロンで区切って。FieldNames のフィールドと対応させる


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes