フォームのボタンを押すとレポートが開くプログラム

データベース (Base) について
返信する
norip
記事: 2
登録日時: 1月 24, 2010, 2:50 am

フォームのボタンを押すとレポートが開くプログラム

投稿記事 by norip »

baseでフォームとフォーム上のボタンと、それからレポートを
作成した状態なのですが
フォーーム上のボタンを押したときに
レポートを開く方法がわかりません
ご教授ねがいたいと思います
なお、仮にフォーム名をF
フォーム上のボタンをB
レポートをR
とします。
OpenOffice.org 3.1
windwse xp
tani
記事: 60
登録日時: 6月 13, 2008, 10:12 am

Re: フォームのボタンを押すとレポートが開くプログラム

投稿記事 by tani »

以下のようなマクロを作成して, ボタンが押されたときに実行されるように設定すればいいんじゃないでしょうか。

コード: 全て選択

Sub hoge
  ' baseファイルがOOoデータソースとして登録されているとき。
  oDBCon = CreateUnoService("com.sun.star.sdb.DatabaseContext")
  oSource = oDBCon.getByName("データソース名")
  oSource.DatabaseDocument.ReportDocuments.getByName("レポート名").open()
End Sub
なお汎用的なのは↑だと思いますが、Baseファイルにマクロを含めるときなんかは↓のほうがいいかもしれません。

コード: 全て選択

Sub hoge
'  oDoc = ThisComponent  
'  If oDoc.supportsService("com.sun.star.text.TextDocument") Then
'    oDoc = ThisComponent.parent
'  End If
' 今は↓でいけるみたい

  oDoc = ThisDatabaseDocument  
  If oDoc.supportsService("com.sun.star.sdb.OfficeDatabaseDocument") = false Then
    Exit Sub
  End If
  oDoc.ReportDocuments.getByName("レポート名").open()
End Sub
norip
記事: 2
登録日時: 1月 24, 2010, 2:50 am

Re: フォームのボタンを押すとレポートが開くプログラム

投稿記事 by norip »

taniさんありがとうございます
これでボタンからフォームやレポート
にアクセスできると思います
感謝です
OpenOffice.org 3.1
windwse xp
返信する

“Base”に戻る