- ベストアンサー
Accessのレポートについて
Accessのレポートで、1シートごとに印刷の際の文字のフォントの大きさを変えるにはどうしたらよいのでしょうか。デザインシートビューで変更するとすべてが変わってしまうので。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAを使わないで、できるかどうかわかりません。下記と同じことをするのもマクロビルダを使って、マクロでフォントサイズの変更を表現できたかどうか自信なし。 それでVBAで考えました。 どういう用途でこういう質問が出るのか、理解できないでいますが。 詳細セクションンに氏名フィールドを設けてあり、テーブルの氏名フィールドと連結していますs レポートのページフォーマット時(Report_Page)のイベントに Private Sub Report_Page() Static i i = i + 1 Select Case Me.Page Case 0 Me.[氏名].FontSize = 40 Case 1 Me.[氏名].FontSize = 30 Case 2 Me.[氏名].FontSize = 20 Case 3 Me.[氏名].FontSize = 10 End Select End Sub と入れて、印刷してみると、氏名のフォントの大きさはページごとに 変えて印刷されました。 ただ最初のページだけは効果が効かないようで(第2ページから効く)、救済策として、当初、手動でプロパティの「フォントサイズ」で設定しておけば、第1ページ中はその設定で印刷されます。 レポートには「フォントサイズ」プロパティはないようです。 Report_Pageのイベントの小生の理解が現状不十分であることをお詫びします。 また既出のご回答は「詳細」セクションの各印刷行をコントロールする縫合の方法のように見えるのですが。
その他の回答 (1)
- cla_kk
- ベストアンサー率33% (12/36)
アクセスはメニューから簡単に頁単位設定をする機能を持っていなかったと記憶しております。記憶違いでしたらすみません。 ですから、もし私がそれをやるとしたらVBAを使用します。 頁ごとに規則性があればロジックは簡単です。 <デザインビュー> (1)任意のテキストボックスを詳細に置く。 (2)頁フッターに頁データのテキストボックスを置く。 <イベントのビルド コードビルダー> (3)VBAを使い、頁データによってフォントサイズを変える とこれだけです。 例としてVBAのコードを記載しておきます。 仮に頁フッターのテキストボックスをtxtpageとし、 詳細のテキストボックスをtxtDatとします。 Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) Select Case CInt(Me.txtpage) Case 1 '1頁目 Me.txtDat.FontSize = 20 Case 2 '2頁目 Me.txtDat.FontSize = 10 End Select End Sub とりあえず簡単にコードを書きましたが、 例えば、奇数頁・偶数頁で振り分けるのも簡単ですし、 これを好きなようにアレンジすればご希望に添うことができると思います。