Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


144 / 2272 ツリー ←次へ | 前へ→

【12852】グループのページ数 bbk 15/6/23(火) 13:58 質問[未読]
【12855】Re:グループのページ数 hatena 15/6/24(水) 9:13 回答[未読]
【12856】Re:グループのページ数 bbk 15/6/25(木) 9:04 お礼[未読]
【12857】Re:グループのページ数 bbk 15/7/1(水) 12:20 質問[未読]
【12859】Re:グループのページ数 bbk 15/7/2(木) 13:24 発言[未読]

【12852】グループのページ数
質問  bbk  - 15/6/23(火) 13:58 -

引用なし
パスワード
   こんにちは。

レポートでグループごとのページ数とページを表示する
仕組みを作りたいのですが、hatenaさんのサイト等を参考に
いろいろ試していますが思ったとおりの表現ができません。
皆様のご意見とアドバイスをお願いいたします。

概要
----------------------
ページヘッダー
〜文字列〜   [ページ数表示]
グループヘッダー
詳細
〜各種項目〜
グループフッター 改ページ:カレントセクションの後
〜項目の合計等〜
----------------------

上記のような感じのレポートなのですが
グループ別で2ページあるところが、1ページ目は詳細の件数を表示しきって
終了(ページ表示は 1/1)。2ページはグループフッターから始まる(ページ表示は1/2)・・・となった時にそのグループが2ページあると認識しなくて困っている、、、と感じです。
よろしくお願いします。

【12855】Re:グループのページ数
回答  hatena  - 15/6/24(水) 9:13 -

引用なし
パスワード
   ▼bbk さん:
>グループ別で2ページあるところが、1ページ目は詳細の件数を表示しきって
>終了(ページ表示は 1/1)。2ページはグループフッターから始まる(ページ表示は1/2)・・・となった時にそのグループが2ページあると認識しなくて困っている、、、と感じです。

そのプログ発行人のhatenaです。

ご指摘の不具合は認識してました。
グループ毎ページ数をグループフッターでリセットしてますが、それが原因です。

手元のサンプルでは、レポートモジュールを下記のように修正して対策してましたが、
プログの方は修正するのを失念してました。

Option Compare Database
Option Explicit
Dim d As Object  ' Dictionary オブジェクト用変数
Dim brk As Variant

Private Sub Report_Open(Cancel As Integer)
  Set d = CreateObject("Scripting.Dictionary")
End Sub

Private Sub グループフッター2_Format(Cancel As Integer, FormatCount As Integer)
  If Me.Pages = 0 Then
    d(Me.区分コード.Value) = Me.Page
  End If
End Sub

Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer)
  If Me.区分コード.Value <> brk Then
    Me.Page = 1
    brk = Me.区分コード.Value
  End If
  If Me.Pages > 0 Then
    Me.txtGrpPages = Me.Page & "/" & d(Me.区分コード.Value) & "ページ"
  End If
End Sub


ページヘッダーで、グループフィールドの値が変化したかどうかをチェックしてリセットするよう変更しました。

【12856】Re:グループのページ数
お礼  bbk  - 15/6/25(木) 9:04 -

引用なし
パスワード
   hatenaさま

早速のご回答ありがとうございました。
おかげさまで問題が解決しました。

【12857】Re:グループのページ数
質問  bbk  - 15/7/1(水) 12:20 -

引用なし
パスワード
   すみません
グループ化して両面印刷するときに、
グループ毎に分けて出力する時も

同じような処理になるのでしょうか?
よろしくお願い致します。

【12859】Re:グループのページ数
発言  bbk  - 15/7/2(木) 13:24 -

引用なし
パスワード
   自分で少し触っていたところ
下記のような感じでなんとか表現できました。

グループフッター1に
テキストボックスを配置してコントロースソースに
「=Futta()」を設定しています。


Dim flg As Integer
Dim pagesu As Integer
Dim brk As Variant

Private Sub Report_Open(Cancel As Integer)
  Me.改ページ.Visible = False
End Sub

Private Sub グループフッター1_Format(Cancel As Integer, FormatCount As Integer)
  If Me.pages <> 0 Then
    Me.改ページ.Visible = (pagesu Mod 2 = 1)
  End If
End Sub

Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer)
  pagesu = pagesu + 1
  If Me.区分コード.Value <> brk Then
    pagesu = 1
    brk = Me.区分コード.Value
  End If
  If Me.pages > 0 Then
    If Me.改ページ.Visible Then
      Me.改ページ.Visible = False
      If flg = 1 And (pagesu Mod 2 = 0) Then
        Cancel = True
        Me.ページフッターセクション.Visible = False
      End If
    Else
      Me.ページフッターセクション.Visible = True
    End If
    Me.ページ = pagesu
  End If
  flg = 0
End Sub

Function Futta()
  flg = 1
End Function

144 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free