- PR -

サブレポートから変数の値を呼び出し元にかえすには?

投稿者投稿内容
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-03-20 19:13
 いつもありがとうございます。

サブレポートから変数の値を呼び出し元にかえすのに
今までは(VB6.0)標準モジュールにグローバル変数を
作りそこに値をサブレポートでセットし
呼び出し元のレポートでその値を判断していましたが
標準モジュールのグローバル変数を使わない別の方法は
ありますか?
saki1208
ベテラン
会議室デビュー日: 2006/08/22
投稿数: 86
投稿日時: 2007-03-20 19:29
saki1208です。

せめて、使用している帳票ツールぐらいは書かないと
レスつかないんじゃ...

勝手にActiveReportsだと仮定して...
イベントを使うとか。

[ メッセージ編集済み 編集者: saki1208 編集日時 2007-03-20 19:33 ]
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-03-20 19:47
 すいません、ActiveReportNETです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-20 22:32
引用:

未記入さんの書き込み (2007-03-20 19:13) より:

サブレポートから変数の値を呼び出し元にかえすのに今までは(VB6.0)標準モジュールにグローバル変数を作りそこに値をサブレポートでセットし呼び出し元のレポートでその値を判断していましたが標準モジュールのグローバル変数を使わない別の方法はありますか?


すでに答えが出ていますが...

たとえば Detail.Format イベントで公開されたインスタンス メンバに値をセットし、
それを外部から参照しにいくなどの方法が考えられると思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-03-22 16:37
resありがとうございます。

すいません
「Detail.Format イベントで公開されたインスタンス メンバに値をセットし」
とありますが、具体的にはどのようなコーディングになるのでしょうか?


Public Property を使ってみましたがうまく値がわたりません

呼び出し元レポート
Dim mRsCnt As Integer
Public Property RsCnt() As Integer
Get
Return mRscnt
End Get
Set(ByVal value As Integer)
mRscnt = value
End Set
End Property

サブレポート
Private Sub ARptsUB_ReportEnd(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ReportStart
Dim rpt As New ARptmoto
rpt.RsCnt = 値
End Sub

公開されたインスタンス メンバとは
Public とはちがうのでしょうか?

申し訳ありません、もう少しご教授お願いします。






じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-22 18:01
引用:

未記入さんの書き込み (2007-03-22 16:37) より:

Public Property を使ってみましたがうまく値がわたりません


うまく値は格納されていると思います。

引用:

公開されたインスタンス メンバとはPublic とはちがうのでしょうか?


はい、'公開された' の部分は、"Public" で合っています。

引用:

Dim rpt As New ARptmoto
rpt.RsCnt = 値


取得しようとしているインスタンスと同一のインスタンスに値を設定していないのがまずいのでしょう。
最初の 1 行目の意味はご存知でしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
LANVIN
大ベテラン
会議室デビュー日: 2007/03/12
投稿数: 211
投稿日時: 2007-03-22 19:37
すいません・・

Dim rpt As New ARptmoto は
新しくARptmoto のインスタンスを作るですよね。

本当はARptmoto はNewで作らないほうが良いのでしょうか?

でもどうやって呼び出し元のProperty に
セットすればよいのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-22 19:55
引用:

未記入さんの書き込み (2007-03-22 19:37) より:

Dim rpt As New ARptmoto は
新しくARptmoto のインスタンスを作るですよね。
本当はARptmoto はNewで作らないほうが良いのでしょうか?


作らない方が良いのではなく、作る必要がないのです。

引用:

でもどうやって呼び出し元のProperty にセットすればよいのでしょうか?


自身のインスタンスにセットしなければ、そもそも外部公開する意味がありません。
'Me' と言えばピンとくるでしょうか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)