レポート
Base ドキュメントに埋め込まれたレポートドキュメント。 レポートドキュメントは普通の Writer ドキュメントに隠しコントロールフィールドを挿入したものです。com.sun.star.container.XChild インターフェースをサポートおり、そのインターフェースのメソッドを使用して親ドキュメントへアクセスできます。 レポートコンテナ
データベースドキュメントに埋め込まれたレポートドキュメントにはレポートコンテナからアクセスできます。 Sub Reports_1 oDoc = StarDesktop.getCurrentComponent() oReports = oDoc.getReportDocuments() End Sub レポートの読み込み
レポートドキュメントはレポートコンテナから読み込み、開くことができます。 Sub Reports_2 oDoc = StarDesktop.getCurrentComponent() Dim args(1) As New com.sun.star.beans.PropertyValue args(0).Name = "ActiveConnection" args(0).Value = oDoc.DataSource.getConnection("", "") args(1).Name = "OpenMode" args(1).Value = "open" oReports = oDoc.getReportDocuments() oReports.loadComponentFromURL("ReportName", "_blank", 0, args) End Sub 編集する場合には OpenMode に openDesign を指定します。 レポートドキュメントの構成
レポートドキュメントは普通の Writer ドキュメントと変わりありませんが、レポートに表示するレコードの指定などが隠しフォームコントロールとして埋め込まれています。 フォーム名は ReportSource を使用します。また、レポートの部分はセクション RecordSection に入れられています。表は Tbl_RecordSection。
レポートを生成するコードは以下にあります。
http://lxr.go-oo.org/source/installation/wizards/com/sun/star/wizards/report/ReportTextImplementation.java |