もしアクセスの操作だけで可能な問題で、見当はずれの場合は許してください。
エクセルに持ってきて、下記VBAでやれば出来ると思います。縦列順序に2列に印刷すると言うことは、結構プログラムが難しいことのようですが、男女別に振り分けるのは更にプログラムロジックを考える必要がある。
(テストデータ)
組 性別 名前(手抜き、本当は漢字名)
1 男 m1
1 女 f1
1 女 f2
1 女 f3
1 男 m2
1 女 f4
1 男 m3
1 男 m4
1 男 m5
1 女 f5
1 男 m6
1 女 f6
1 男 m7
1 女 f7
1 女 f8
2 女 f9
2 女 f10
2 女 f11
2 男 m8
2 女 f12
2 男 m9
2 女 f13
2 男 m10
2 女 f14
2 男 m11
3 女 f15
(結果)
第1ページ
m1 f1
m2 f2
m3 f3
m4 f4
m5 f5
m6 f6
m7 f7
f8
第2ページ
m8 f9
m9 f10
m10 f11
m11 f12
f13
f14
(コード)VBA
Sub test01()
i = 1
j = 1
k = 1
Dim ws1 As Worksheet
Set ws1 = Worksheets("sheet1")
Dim ws2 As Worksheet
Set ws2 = Worksheets("sheet2")
m = ws1.Cells(1, "A")
'------
p00:
If ws1.Cells(i, "A") = "" Then End
If ws1.Cells(i, "A") > m Then
Range(ws2.Cells(1, 1), ws2.Cells(k, "B")).PrintOut
m = ws1.Cells(i, "A")
Range(ws2.Cells(1, 1), ws2.Cells(k, "B")).ClearContents
j = 1
k = 1
'-----
End If
If ws1.Cells(i, "B") = "男" Then
ws2.Cells(j, "A") = ws1.Cells(i, "C")
j = j + 1
Else
ws2.Cells(k, "B") = ws1.Cells(i, "C")
k = k + 1
End If
i = i + 1
GoTo p00
End Sub
アクセスVBAでやるならCellsが使えないので
1ページ分の、各列(フィールド)数だけの配列を用意して、まず組が変るまで配列にためて、変ったところで配列データを印刷すればできる。だからロジックはほぼそのまま使える。ただMDBのファイルを読む方法を勉強する必要がある(市販本に載ってますが)。
お礼
ありがとうございます。 VBAでやるという手もあるかもしれませんが、できれば、デザインのプロパティの設定でできれば助かるんですが。 なお、私の試行錯誤で、性別のヘッダーにこのセクション後改段を設定して、性別の詳細部分には何も設定しなければうまくいきました。 (以前はここに番号・氏名とか見出しを入れていたんですが、それをページヘッダーにもっていき、性別の詳細は高さを0にしました。また、以前は性別のフッターに改段を設定していました。)