Access VBA質問箱 IV

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

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


1076 / 9994 ←次へ | 前へ→

【12218】Re:レポートの自動拡張に合わせて線を引くには
回答  hatena  - 12/11/21(水) 18:48 -

引用なし
パスワード
   >3点です。
>
>14400の方法で縦線は引けましたが、一つ一つのテキストボックスの高さを取得、比較して縦線を引く方法もありました。どちらも連続した縦線がひけるのですが、この2つは、どう使い分けるものなのでしょうか。

[AC95]の方はそのページのプレビューの画像を見てもらえばわかりますが、テキストボックスの最大高さに合わせて罫線を引きます。ですので、テキストボックスとセクションの上下に余白があれば罫線は途切れます。上下に余白がなければ、罫線は連続します。
連続していいのなら、[ACC2002]の方がシンプルなのでいいでしょう。これはセクションの最大値の高さで罫線を引くものですが、セクションの高さを超える部分は表示されないので結局セクションの高さいっぱいに引くことになります。
 
>Me.Line (0, Bottom)-(Me.Width, Bottom) '横罫線
>LineTop = 0
>で変数が定義されていないというエラーが出ました。何が足りないのでしょうか。
>またここで何をしているという意味なんでしょう。

LineTop を LineBottom に変更してください。
手元のコードをもとに編集した時に、変更し忘れたのもです。

>Line1を非可視にして、
>  LineBottom = Me.Top - Me.Printer.TopMargin + Me.Line1.Top
>とは、何をしているのでしょうか。

Me.Top でカレントレコードの上位置を取得できます。ただし、印字範囲を基準とした高さなので、それに余白設定の上余白(Me.Printer.TopMarginで取得)を加算します。印刷時拡張のテキストボックスの下に配置した直線はテキストボックスの拡張に押し出されて下に移動します。ですので、その上位置を取得すれば、セクションの高さが取得できますので、それを加算します。
これによってカレントレコードの最下部の位置が計算できます。
それをLineBottom変数に格納しておいて、ページフォーマット時に Lineメソッドでその位置に横罫線を描画します。

3,050 hits

【12215】レポートの自動拡張に合わせて線を引くには tamateboko 12/11/21(水) 12:47 質問[未読]
【12216】Re:レポートの自動拡張に合わせて線を引く... hatena 12/11/21(水) 16:15 回答[未読]
【12217】Re:レポートの自動拡張に合わせて線を引く... tamateboko 12/11/21(水) 18:02 質問[未読]
【12218】Re:レポートの自動拡張に合わせて線を引く... hatena 12/11/21(水) 18:48 回答[未読]
【12219】Re:レポートの自動拡張に合わせて線を引く... tamateboko 12/11/22(木) 11:06 質問[未読]
【12220】Re:レポートの自動拡張に合わせて線を引く... hatena 12/11/22(木) 19:40 回答[未読]
【12221】Re:レポートの自動拡張に合わせて線を引く... tamateboko 12/11/23(金) 10:55 お礼[未読]

1076 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078191
(SS)C-BOARD v3.8 is Free