• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:access レポートで罫線を最後まで出力する方法)

access レポートで罫線を最後まで出力する方法

bonaronの回答

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.4

なかなか、 hatena さんが登場してこないので・・・ より簡単な方法です。 レコードがない場合も用紙の最後まで罫線を出力する http://hatenachips.blog34.fc2.com/blog-entry-17.html レコードがない場合も用紙の最後まで罫線を出力する NextRecord版 http://hatenachips.blog34.fc2.com/blog-entry-91.html

kotoadora
質問者

お礼

bonaronさん 回答ありがとうございました。 hatenaさんは一度回答いただいていたのですが、事務局から削除されていました。 Hpも見させていただきましたが、弊社でもともと使用していたプログラムのエラー回避の為に行っているため、あまりにも変えてしまうと・・・という部分があったので本を見て作成していたところです。 その上で、わからない部分があったので質問を上げさせてもらいました。

関連するQ&A

  • Accessのレポートでデータがなくても罫線だけ表示させたい

    Win2000,Access2000を使用しています。 Microsoftのホームページで「[AC97] レコードがない場合も用紙の最後まで罫線を出力する方法」を応用して以下のVBを作成しました。 ですが、9行目までデータを入力すると9行目と10行目の両方の行に9行目のデータが表示されます。 8行目まででしたら、9、10行目は空白で罫線(直線)が表示されます。 どなたか解決法をご存知でしたらお教え下さい。 Option Compare Database  Dim A As Integer '-------今何行目なのかをカウントする為の変数  Dim B As Integer '-------今回印刷する予定のレコード件数を入れて                  おく変数 ---------------------------------------------------- Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)   A = 0   B = DCount("ID", "Q05商品リスト")   Me!改ページ3.Visible = False End Sub ---------------------------------------------------- Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)  A = A + 1  If A Mod 10 = 0 Then    Me!改ページ3.Visible = True  Else    Me!改ページ3.Visible = False    If A < B Then      Me.NextRecord = True      Me!商品名.Visible = True      Me!メーカー名.Visible = True    ElseIf A = B Then      Me.NextRecord = False      Me!商品名.Visible = True      Me!メーカー名.Visible = True    Else      Me.NextRecord = False      Me!商品名.Visible = False      Me!メーカー名.Visible = False    End If   End If End Sub

  • Access レポートの詳細Formatに複数の式

    いつもお世話になっています。 レポートの詳細に結婚して姓が変更になった場合、旧姓に取り消し線を引く という式を作成しました。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新姓 <> "" Then Me.取り消し線1.Visible = True Me.取り消し線2.Visible = True Else Me.取り消し線1.Visible = False Me.取り消し線2.Visible = False End If End Sub 今回は、住所も変更になって新住所が入力されたら、旧住所に取り消し線を引きたいと 思います。 ただし、変更にならない場合もあるので、別のIF文になります。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新住所 <> "" Then Me.取り消し線3.Visible = True Me.取り消し線4.Visible = True Else Me.取り消し線3.Visible = False Me.取り消し線4.Visible = False End If End Sub レポートの詳細_Formatに複数の条件を設定することができるのでしょうか。 お力添えをお願いいたします。

  • Accessのレポートに取り消し線を表示したい

    いつもお世話になっています。 名簿を作成しているのですが、結婚して姓が変わった場合、 上書きせずに新しい姓を別のテキストボックスに入力します。 これをレポートとして出力する際、新しい姓が入力された場合は、 過去の指名のテキストボックスに二重線を引きたいのですが うまくいきません。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If 新姓 <> "" Then Me.取り消し線1.Visible = True Me.取り消し線2.Visible = True Else Me.取り消し線1.Visible = False Me.取り消し線2.Visible = False End If End Sub お力添えをお願いいたします。

  • 行数を固定して納品書を作成したが、いらない部分がでる

    こんばんは、提出時間がせまっているので、 あせって、質問しました。 今、アクセスにて納品書のレポートの作成中です。 Q_売上テーブルとQ_売上明細テーブルをつかって、 レポートを作成し、5行に固定したかったので、 下記のようなVBAを記述しました。 行は、固定されましたが、 なぜか1行しかない時などに、 商品区分だけが2行目3行目に1行目の内容をコピーして はいってくるのです。 どこがおかしいのかわからず、苦戦中です。 ご教授、よろしくお願いいたします。 Option Compare Database Dim AAA As Integer Dim BBB As Integer Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer) AAA = 0 BBB = DCount("伝票番号", "Q_売上明細テーブル", "伝票番号='" & Me!伝票番号 & "'") End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) AAA = AAA + 1 Me!テキスト54 = AAA If AAA Mod 5 = 0 Then If AAA < BBB Then Me!改ページ55.Visible = True Me.Section(3).Visible = True ElseIf AAA = BBB Then Me!テキスト54.Visible = True Me!商品区分.Visible = True Me!商品名.Visible = True Me!数量.Visible = True Me!単価.Visible = True Me!金額.Visible = True Else Me!テキスト54.Visible = False Me!商品区分.Visible = False Me!商品名.Visible = False Me!数量.Visible = False Me!単価.Visible = False Me!金額.Visible = False End If Else Me!改ページ55.Visible = False Me.Section(3).Visible = False If AAA < BBB Then Me.NextRecord = True Me!テキスト54.Visible = True Me!商品区分.Visible = True Me!商品名.Visible = True Me!数量.Visible = True Me!単価.Visible = True Me!金額.Visible = True ElseIf AAA = BBB Then Me.NextRecord = False Me!テキスト54.Visible = True Me!商品区分.Visible = True Me!商品名.Visible = True Me!数量.Visible = True Me!単価.Visible = True Me!金額.Visible = True Else Me.NextRecord = False Me!テキスト54.Visible = False Me!商品区分.Visible = True Me!商品名.Visible = False Me!数量.Visible = False Me!単価.Visible = False Me!金額.Visible = False End If End If End Sub

  • アクセス2000 5行で改ページ

    アクセス2000のレポートで、5行で改ページをさせようと以下のようにコードを記述しましたがうまくいきません。 どなたかアドバイスをお願いします。 配置されているテキストボックスは、 [氏名] [人事区分チェック1] [人事区分チェック2] [人事区分チェック3] [人事区分チェック4] [人事区分チェック5] [人事区分チェック6] [人事区分チェック7] [その他の内容] [役職] [採用年月日] [契約終了日] [備考] でコードは以下の通りです。 Dim i, j Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer) i = 0 j = DCount("*", "採用時提出書類管理クエリ", "[教授会]=reports![92 人事関係報告書]![教授会]") End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) i = i + 1 If i Mod 5 = 0 Then If i <= j Then Me![bpage].Visible = True Else Me![氏名].Visible = False Me![人事区分チェック1].Visible = False Me![人事区分チェック2].Visible = False Me![人事区分チェック3].Visible = False Me![人事区分チェック4].Visible = False Me![人事区分チェック5].Visible = False Me![人事区分チェック6].Visible = False Me![人事区分チェック7].Visible = False Me![その他の内容].Visible = False Me![役職].Visible = False Me![採用年月日].Visible = False Me![契約終了日].Visible = False Me![備考].Visible = False End If Else Me![bpage].Visible = False If i < j Then Me.NextRecord = True Me![氏名].Visible = True Me![人事区分チェック1].Visible = True Me![人事区分チェック2].Visible = True Me![人事区分チェック3].Visible = True Me![人事区分チェック4].Visible = True Me![人事区分チェック5].Visible = True Me![人事区分チェック6].Visible = True Me![人事区分チェック7].Visible = True Me![その他の内容].Visible = True Me![役職].Visible = True Me![採用年月日].Visible = True Me![契約終了日].Visible = True Me![備考].Visible = True ElseIf i = j Then Me.NextRecord = False Me![氏名].Visible = True Me![人事区分チェック1].Visible = True Me![人事区分チェック2].Visible = True Me![人事区分チェック3].Visible = True Me![人事区分チェック4].Visible = True Me![人事区分チェック5].Visible = True Me![人事区分チェック6].Visible = True Me![人事区分チェック7].Visible = True Me![その他の内容].Visible = True Me![役職].Visible = True Me![採用年月日].Visible = True Me![契約終了日].Visible = True Me![備考].Visible = True Else Me.NextRecord = False Me![氏名].Visible = False Me![人事区分チェック1].Visible = False Me![人事区分チェック2].Visible = False Me![人事区分チェック3].Visible = False Me![人事区分チェック4].Visible = False Me![人事区分チェック5].Visible = False Me![人事区分チェック6].Visible = False Me![人事区分チェック7].Visible = False Me![その他の内容].Visible = False Me![役職].Visible = False Me![採用年月日].Visible = False Me![契約終了日].Visible = False Me![備考].Visible = False End If End If End Sub データが5件未満は正しく表示されますが、5件を超えると2ページ目が4件しか表示されなかったりします。 グループ化がされており、[bpage]という改ページが入っています。 よろしくお願いします。

  • ACCESS  日付が変わった場所で改ページしたい

    Win 7 Access2013 大変、お世話になっています。よろしくお願いしたいと思います。 日程表で、詳細に「日付」「場所」「時間」「内容」などのフィールドがありA5の用紙に印字しています。1枚の用紙に収まらない場合、2枚目に順次印字されています。 この2枚目に移る時、「日付」が変わった時点で改ページをしたいのです。「日付」は日が変わった時だけ入力しています。 色々、調べてみて、グループ化もしてみましたがうまく出来ませんでした。「グループ化」の中で、印字の時の「グループ全体」という項目が Access2013では見当たりませんでした。 何卒、ご教示方よろしくお願いいたします。 【備考】 モジュールには、ここでご教示いただいた下記のような「線」の記述をしています。 Option Compare Database Option Explicit Dim HI As String Dim TI As String Dim NAIYO As String Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer) HI = """" TI = """" NAIYO = """" End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If HI <> Me.行程_日付 Then Me.直線51.Visible = True HI = Me.行程_日付 Else Me.直線51.Visible = False End If If TI <> Me.テキスト44 Then Me.直線53.Visible = True TI = Me.テキスト44 Else Me.直線53.Visible = False End If If NAIYO <> Me.内容 Then Me.直線55.Visible = True NAIYO = Me.内容 Else Me.直線55.Visible = False End If End Sub Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Me.ScaleMode = 1 Me.ForeColor = 0 Me.DrawStyle = 0 Me.DrawWidth = 4 Me.Line (1.51 * 567, 0)-(1.51 * 567, 14400) Me.Line (6.8 * 567, 0)-(6.8 * 567, 14400) Me.Line (8.3 * 567, 0)-(8.3 * 567, 14440) End Sub

  • アクセスIfブロックに対応するEnd Ifエラ-

    こんにちは。 アクセスで各レコードの印刷部数がそれぞれ異なるため、各レコードに入力した(フォームから)部数指定で 看板を印刷するようVBAを入力したところ。。。フォーマット時の方でIfブロックに対する End Ifがありませんとコンパイルエラーが出てEnD Ifが反転しています。 VBA初心者で、このVBA事態もネットで調べてコピペしたもので。。。エラー事態を自力で直せません。。。宜しくお願いいたします。 レポートの詳細にテキストボックスを置き名前-[cut]/可視-[いいえ[/コントロールソース-[=1]/ 集計実行-[グループ全体] 詳細のプロパティ Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Dim 指定枚数 As Integer 指定枚数 = Forms![フォーム名]![部数指定フィールド名] If IsNull([cut]) Then [cut] = 1 If [cut] <> 指定枚数 Then Me.NextRecord = False Me.MoveLayout = True Me.PrintSection = True End If End Sub Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim 指定枚数 As Integer 指定枚数 = Forms![フォーム名]![部数指定フィールド名] If [cut] <> 指定枚数 Then [cut] = [cut] + 1 Else: [cut] = 1 End If End Sub 宜しくお願いいたします。

  • アクセスの標準モジュールを教えてください

    アクセス初心者です。イベントプロシージャで以下のようなVBAを作りました。(動作しました。) これを複数のレポートで使いたいので,標準モジュールで作りたいのですが,うまくできません。 下のVBAを標準モジュールで書くとどう書くのか教えてください。また,もしcallで呼び出すときの注意点等もあれば教えてください。 下のVBAでしたいことは,「加点減点*○」というイメージを「tbox_加点」というテキストボックスの値に応じて可視にするというものです。 アクセスは2007を使っています。よろしくお願いします。 Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Dim kt As Long Dim st As Long Me.加点減点_10○.Visible = False Me.加点減点_5○.Visible = False Me.加点減点0○.Visible = False Me.加点減点5○.Visible = False Me.加点減点10○.Visible = False kt = Me.tbox_加点 Select Case kt Case -10 Me.加点減点_10○.Visible = True Case -5 Me.加点減点_5○.Visible = True Case 0 Me.加点減点0○.Visible = True Case 5 Me.加点減点5○.Visible = True Case 10 Me.加点減点10○.Visible = True End Select End Sub

  • Accessのラベル指定箇所印字について

    Window 7 Access2013 いつも、お教えいただき、誠にありがとうございます。お手数ですが、今ひとつお教えいただきたいと思います。 ラベル印刷で、開始位置を指定して印字する方法を検索して利用させていただいておりますが、 1枚のラベルを作成して指定したラベルに印字しようとして ・プレビューすると指定した印字位置にありますが ・実際印字すると 1枚目に印字されてしまいます コードは、引用させていただいた Option Explicit Dim i, k As Integer Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer) i = 0 k = InputBox _ ("ラベル印刷の開始位置を入力してください") End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) If i < k - 1 Then Me.MoveLayout = True Me.NextRecord = False Me.PrintSection = False i = i + 1 End If End Sub としています。 何卒、よろしくお願いいたします。

  • アクセスのレポート、VBAで罫線を引く方法

    初心者です。いろいろ調べてみて、ここまでたどりつきましたが(どなたかの質問を参考に)、これ以上わからなくなったのでこちらに投稿しました。 Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer) Me.ScaleMode = 1 Me.ForeColor = 0 '一番左の縦線 Me.Line (0, 120)-(0, 6680) End Sub 上記のコードで、罫線を引く方法はわかりました。ただ、私がやりたいことは、全てのレコードに対して線を引く方法でなく(それであれば、VBAを使うほどでもないので)、特定の位置に線を引く方法なのです。 もっとわかりやすく言うと、A4用紙に2つのレコードが印刷されるレポートになっております。その2つのレコードの真ん中に、いつも線を引く、ということをさせたいのです。 (要するに、切り取り線です) このような場合、どうしたら可能になるか、どなたかヒントをいただけないでしょうか。