<Access レポート Me.NextRecord = Falseで移動を止める>
こんにちは、三流プログラマーKen3です。 今回は、 Access レポートで、 Me.NextRecord = False を使用して、レコードの移動を止めて見たいと思います。 メルマガの中身はふざけてる言葉が多いけど、 サンプルは真剣に作ったので、 http://www.ken3.org/vba/lzh/vba076.lzh にtest076.mdb(Access97版)が保存されています。 テストで使ってみてください。/* * 1.今回のキッカケ */
No.74 Access 列型レポートの左端に印刷したい http://www.ken3.org/backno/backno_vba15.html#74 で、内容は、 --- > アクセスで列型のレポートを作りたいのですが、困っていることが > あります。列型のレポートそのものは作れるのですが、ラベルがうまく > いきません。 > 作りたいのは縦4列のデータを出力し、左端にラベルをつけるとい > うものです。 > 詳細にラベルを置くと繰り返し出力してしまいます。結局解らなく > て、現在はラベルと罫線と、データを分けて二重に出力するという面倒 > な方法をとっています。 > 何か解決方法はないものでしょうか? ---- 列型のレポート、外枠に何か書きたい、、のかぁ、、 上下はページのヘッダー、フッターがあるけど、 左右はそれらしいの無いしなぁ。今回使いたいのは左側に何か書きたいときかぁ。 で、余白に無理やり書いて、IIfでかわしてみる方法を書いたんだけど、 やはり、印刷部分が長くて、かわせなかったみたい、う〜ん。。。 の続きです。/* * 2.アプローチの方法を変える */
さてと、余白から攻めてみても、あの子は落とせなかったかぁ。 次のアプローチ方法を考えないとなぁ。 できたら手をかけないで、女の子落としたいよね(目的を達成したいよね) みんながやってない斬新な方法がいいけど、なかなか思いつかない。 ※くだらない恋愛テクニックはネットに転がっているけど、 自分に合うテクニックが無いんだよなぁ。。。じゃなくってVBAテクね。 なんて書いてると、女性読者とマジメ君が解除ボタンを押すので、 路線を戻してと、(あまり戻ってなく、いつもの三流的な文章だけど) 昔のメルマガ印刷系のサンプルで、 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Me.NextRecord = False で、レコードを進ませないで、印刷データの複製を作ったなぁ。 ※元ネタは有名な、マイクロソフトサポート技術情報の 最後まで罫線を引くで覚えたMe.NextRecord = Falseだけど。 次の構想、 ^^^^^^^^^^ [1111111111] [2222222222] [3333333333] [4444444444] [5555555555] [6666666666] と続く印刷を Me.NextRecord = False を使用して、 [1111111111] [1111111111] [2222222222] [3333333333] [4444444444] [4444444444] [5555555555] [6666666666] として、左側の重複データの時、可視のON/OFFでラベル的データを表示する。 そんな戦略で作ってみたいと思います。 ※なんだ、昔の女に使った技を応用するのか? まだ言ってるよ(スミマセン、独り言多くって(笑)) 下準備、仕込みで、わかり易くするために 作成したコントロールのcntA(カウンタ)を見えるようにしてと、 (Mod 3) 3で割って余りが1の時はデータを進ませるのを止めるか。
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If (Me![cntA] Mod 3) = 1 Then '右端なら Me.NextRecord = False 'レコードの移動を止める End If End Sub |
Private Sub ページヘッダー_Format(Cancel As Integer, FormatCount As Integer) pFLG = False '印刷してないに設定する End Sub |
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If (Me![cntA] Mod 3) = 1 Then '左端なら If pFLG = False Then 'まだラベルエリアを印刷してなかったら Me.NextRecord = False 'レコードの移動をまず止める pFLG = True '印刷フラグを立てる 'ここにラベルのOn/Off処理を入れる End If Else pFLG = False 'その他の時 End If End Sub |
Private Sub ページヘッダー_Format(Cancel As Integer, FormatCount As Integer) pFLG = False '印刷してないに設定する End Sub |
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If (Me![cntA] Mod 3) = 1 Then '左端なら If pFLG = False Then 'まだラベルエリアを印刷してなかったら Me.NextRecord = False 'レコードの移動をまず止める pFLG = True '印刷フラグを立てる 'ここにラベルのOn/Off処理を入れる Me![lab01].Visible = True Me![lab02].Visible = True '実データをOff Me![ID].Visible = False Me![WrietTime].Visible = False Me![F_TITLE].Visible = False Me![F_MEMO].Visible = False Else 'ここにラベルのOn/Off処理を入れる Me![lab01].Visible = False Me![lab02].Visible = False '実データをOff Me![ID].Visible = True Me![WrietTime].Visible = True Me![F_TITLE].Visible = True Me![F_MEMO].Visible = True End If Else pFLG = False 'その他の時 End If End Sub |
ここまで、読んでいただきどうもです。ここから下は、三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
気になったジャンル↓を選択してください。 人気記事(来場者が多いTOP3): Excel関係: Access関係: その他:VBAの共通関数やテキストファイルの操作など 開発時の操作: [F1を押してHELPを見る]/ [Debug.Print と イミディエイトウインドウ]/ [実行時エラーでデバッグ]/ [ウォッチ式とSTOP]/ [参照設定を行う] 仕様書(設計書?) XXXX書類: [基本設計書や要求仕様書]/ [テスト仕様書 テストデータ]/ [バグ票]/ [関数仕様書]/ [流れは 入力・処理・出力] ※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。 |
Blogとリンク:[三流君の作業日記]/
[VBAやASPのサンプルコード]/
広告-[通販人気商品の足跡]