Access2000で「所属コード」と「社員氏名」が入っているレポートを作りました。
枠線もつけてひととおりできたのですが、改ページの方法がよくわかりません。
以下の条件で改ページを行なうにはどうしたらよいのでしょうか?
データは、所属コード毎にまとまっていて、さらに同じ所属コードのなかでは社員氏名(50音順)になっています。空白のデータ行はありません。
条件
1.1ページ10人で改ページをする。
2.所属コードが変わったら、10人に満たなくても改ページする。
3.所属コードが変わって改ページをする場合、空の行を補って1ページは常に10人分とする。
以上のような条件を満たす改ページ設定はできるのでしょうか?
No.3ベストアンサー
- 回答日時:
なんかカッコ悪いコードになっちゃいましたが
勘弁してください。
DoCmd.RunSQL "DELETE W_印刷用.* FROM W_印刷用;"
Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim RS2 As ADODB.Recordset
Dim 件数 As Integer
Dim 空白数 As Integer
Dim 退避所属コード As Long
Dim 番号 As Long
Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset
Set RS2 = New ADODB.Recordset
RS.Open "T_社員", CN, adOpenKeyset, adLockOptimistic
RS2.Open "W_印刷用", CN, adOpenKeyset, adLockOptimistic
RS.MoveFirst
番号 = 1
件数 = 1
Do Until RS.EOF
退避所属コード = RS!所属コード
Do Until 退避所属コード <> RS!所属コード
RS2.AddNew
RS2!番号 = 番号
RS2!社員名 = RS!社員名
RS2!所属コード = RS!所属コード
RS2.Update
RS.MoveNext
If RS.EOF Then Exit Do
番号 = 番号 + 1
件数 = 件数 + 1
Loop
If 件数 > 10 Then
件数 = (件数 Mod 10)
End If
空白数 = 10 - 件数
番号 = 番号 + 1
For I = 1 To 空白数
RS2.AddNew
RS2!番号 = 番号
RS2!所属コード = 退避所属コード
RS2.Update
番号 = 番号 + 1
Next I
件数 = 1
Loop
RS.Close
RS2.Close
CN.Close
テーブル
・T_社員
社員名 テキスト型
所属コード 数値型(長整数)
・W_印刷用
番号 数値型(長整数)
社員名 テキスト型
所属コード 数値型(長整数)
で作成しました。
もっと簡潔にできるとは思いますが
そこはお願いします。
もちろんレポートでグループヘッダーを所属コードで
作成しておかないとこのままW_印刷用をそのまま印刷しても、別所属コードで改ページされません。
(1ページ10件ぎりぎりで作成しておけば別ですが)
ありがとうございます。とっても我儘なお願いにもかかわらず、コードを公開していただいて、とっても助かります。
このコードを参考にがんばってみます。本当にありがとうございます。
No.2
- 回答日時:
これはVBAを使用しないと解決できないかと思います。
幾つかの方法があって、まず1つはデータをまた別なテーブルへ移行し、同時に空白行を作成する方法。
例えば
元データテーブル 印刷時用一時テーブル
氏名 所属 → 氏名 所属
あーさん 1 あーさん 1
かーさん 1 かーさん 1
いーさん 2 空白行 1
きーさん 2 以下10行になるまで空白行
いーさん 2
きーさん 2
空白行 2
以下10行になるまで空白行
このような印刷時用の一時テーブルをVBAにて作成して
それをレポートに使用します。
このとき1つの所属で10人以上いた場合は2ページ目に
わたりますので、(1所属の件数 MOD 10)で
余りを算出し、余りが0以上ならその値を10から引けば
作成する空白行数が分かります。
2つ目は印刷時にレポートにVBAを使用して制御する方法です。
NextRecordプロパティの値を調べて次のレコードを印刷するかと判断します。
まだ方法があるとは思いますが、私は1つ目の方法でいつも制御しています。
VBAの参考本にこの類のサンプルプログラムがあるので
参考にしてみてはいかがでしょうか。
ではではがんばってください。
この回答への補足
早速の回答ありがとうございます。
回答文を読ませていただき、仕掛けについては「なるほど」と思ったのですが
実際のコードの記述については難しいみたいです。
そこで、もし差し支えがなければ、1つ目の方法について実際のコードを公開していただくことはできないでしょうか。
(撫しつけなお願いですいません)
No.1
- 回答日時:
レコードがない場合も用紙の最後まで罫線を出力する方法
というマイクロソフトのHPを紹介します
参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Accessレポートで特定条件で改ページしたい
PowerPoint(パワーポイント)
-
ACCESSのレポートの表示がおかしい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
アクセスVBAのSQL文の記述の仕...
-
GrapeCityのSpreadについて
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
オブジェクトファイルのファイ...
-
ACCESS VBA ヘッダなしCSVの入...
-
特定行の背景色を変えたいのですが
-
QRコードの印刷
-
ASCIIコード表の出力
-
コマンドボタンを押したときに...
-
美しいソースとは?
-
VBAでファイルオープン後にコー...
-
エクセルに見えない文字(JISX0...
-
COBOLの文法
-
アスキーキャラとは?
-
JavaScriptの定数名が取り消し...
-
Nullの使い方が不正です。
-
ActiveReportの改ページ不具合...
-
VB6.0で製作中の「もぐらたたき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
JANコードとPOSコードは同じ?
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
オートフィルタで抽出結果に 罫...
-
変数名「cur」について
-
JavaScriptの定数名が取り消し...
-
ACCESSユニオンクエリでORDER B...
-
Exel VBA 別ブックから該当デ...
-
UWSCでMOUSEORG関数が上手く処...
-
COBOLの文法
-
PreviewKeyDownイベントが2回...
-
1、Rstudioで回帰直線を求める...
-
VBAでファイルオープン後にコー...
-
【VB6】実行ファイルとした後、...
-
Nullの使い方が不正です。
-
特定行の背景色を変えたいのですが
-
◾️Excel VBA 統合について Cons...
-
アルファベットに付いて質問し...
-
Excel VBAでOpenTextのFieldInf...
おすすめ情報