|
>レポートヘッダー 可視:はい
>TextBox[SUM([フィールド])] TextBox[非連結]:名前(Tbox)
>グループヘッダー 可視:いいえ
>詳細 可視:いいえ
>[フィールド] [フィールド2]
>グループフッター 可視:はい
>TextBox[SUM([フィールド])]:名前(フィールドの合計) TextBox[SUM([フィールド2])]:名前(フィールドの合計2)
>レポートフッター 可視:いいえ
>Private Sub レポートフッターセクション
> If フィールドの合計 <> 0 And フィールド2の合計 <> 0 Then
> Me.Tbox = Round((Me.フィールドの合計 / Me.フィールド2の合計) * 100, 4)
> Else
> Me.Tbox = "0.00"
> End If
>End Sub
やっと出てきましたね。
これで、そちらの状況の理解が進みました。
上記のVBAのコードですが、コード自体には特に問題はないと思います。
強いて挙げれば、テキストボックスの値がNullである場合に備えて、
テキストボックスの値を条件式や計算に使うときは、Nz関数をかませた方がいいと思います。
例えば、
If Nz(フィールドの合計.Value,0) <> 0 _
And Nz(フィールド2の合計.Value,0) <> 0 Then
ところで、上記コードは、どのオブジェクトのどのイベントで実行させているのでしょうか。
また、そのイベントのイベントプロシージャにエラー処理ルーチンは設けられていますか。
もし設けられているならば、そこにおいてどのような処理をしていますか。
いずれかのイベントでTboxのVisibleプロパティやEnabledプロパティを操作していませんか。
なお、こちらでもサンプルを作って、実験してみました。
結果は、Tboxは、常に表示され、
Tboxには、「Round((Me.フィールドの合計 / Me.フィールド2の合計) * 100, 4)」
の値が表示されました。
レポートヘッダーのテキストボックスが1回目では表示されないという状況は再現しませんでした。
|
|