改ページしたときにページ数を表示する

ページ数を印刷物右上に表示させる方法です。

1ページ目

2ページ目

このように表示させます。

最初にデザインビューでレポートヘッダーとページヘッダーにページ数と見積書NOを表示できるように
設定します。

このまま印刷の処理をかけると、1ページ目にレポートヘッダーとページヘッダーの二つの
ページ数が表示されてしまうので、これでは使い物になりません。

考え方は、ページ数が1のときはページヘッダーのページ数を非表示にし、2ページ目以降に表示にする
ように設定します。

ページヘッダーのプロパティを開き、イベントタブの印刷時に次のコードを入力します。

Private Sub ページヘッダーセクション_Print(Cancel As Integer, PrintCount As Integer)
If [Page] = 1 Then
Me!ラベル110.Visible = False
Me!見積NO.Visible = False
Me!テキスト34.Visible = False
End If

If [Page] >= 2 Then
Me!テキスト105.Visible = False
Me!ラベル110.Visible = True
Me!見積NO.Visible = True
Me!テキスト34.Visible = True
End If

End Sub

これで印刷をかけると上のように、1ページ目はレポートヘッダーのページ数が、2ページ目以降はページヘッダーの
ページ数が表示されるようになります。

レポートの設定にはVBAが欠かせません。

=========================================
最近お酒にだいぶ飲まれるようになってきた感じがします。。
今まで家でもほぼ毎日少量ですが晩酌していましたが、今日からもう
家ではお酒は飲まないようにしようと決意しました。

とりあえず今日は飲みませんでした。

本日も最後までお読みいただきありがとうございます。

Accessレポート印刷時に1ページと2ページ以降で行数を変更する②

最初にすることは、1ページ目は何行の明細を表示して、2ページ目以降は何行表示するのか
決めることです。

注意点は最後のページにレポートフッダーが入るように、1ページ目から下の余白を残して
おく必要があります。

あまり行数が少ないと下が空いてしまうので、ちょうどいい行数を探ってみてください。

レポートをデザインビューで開いて、詳細セクションのプロパティを開いて、フォーマット時
のVBAコードを設定します。下のコードの場合、1ページ目が13行、2ページ目以降が25行の明細行
が表示されます。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
i = i + 1
If i = 13 Then
If i <= j Then Me![bpage].Visible = True Else Me![見積工事内容].Visible = False Me![見積工事明細NO].Visible = False Me![見積数量].Visible = False Me![見積単位].Visible = False Me![見積単価].Visible = False Me![見積金額].Visible = False Me![見積摘要].Visible = False End If ElseIf (i - 13) Mod 25 = 0 Then   If i <= j Then Me![bpage].Visible = True Else Me![見積工事内容].Visible = False Me![見積工事明細NO].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![見積工事明細NO].Visible = False 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![見積工事明細NO].Visible = folse Me![見積数量].Visible = True Me![見積単位].Visible = True Me![見積単価].Visible = True Me![見積金額].Visible = True Me![見積摘要].Visible = True Else Me.NextRecord = False Me![見積工事内容].Visible = False Me![見積工事明細NO].Visible = False Me![見積数量].Visible = False Me![見積単位].Visible = False Me![見積単価].Visible = False Me![見積金額].Visible = False Me![見積摘要].Visible = False End If End If End Sub 通常の明細行を指定するコードとの違いは、改ページの指示(Me![bpage].Visible = True)を 1ページの時は13で固定してしまいます。2ページ目以降の改ページの指示は、1ページ目で13行で改ページ しているので、現在の明細行から13を引いて、25で割った余りがゼロのとき改ページをします。 要は、38、63、88行のときに改ページします。 ============================================== 今日は整体に行ってきました。自分では姿勢がいいと思っていてもプロから見てみると 前に傾いているとのこと。正しい姿勢になればマラソンもっと早くなるようなので、 正しい姿勢になるまでしばらく通ってみようと思います。 本日も最後までお読みいただきありがとうございます。

Accessレポート印刷時に1ページと2ページ以降で行数を変更する①

Accessレポートを印刷するときに、1ページ目は見積書のタイトルから得意先や自社情報を
表示させ、2ページ目以降は明細行のみを出力する場合の設定です。

イメージとしてはこのような感じです。

まずはじめにすべきことは、もしページへッダーに見積書に表示させる得意先・自社情報がある場合、
それらをレポートへッダーに見積書の上部に表示させる情報を移動します。

ただし、明細のタイトルについてはページを繰越したときにも次のページに表示させたいので、ページヘッダーに
設定します。

Accessで一番難しいと感じるところは、やはりレポート。何をどこに表示させるのかしっかり理解していないと
なかなか思い通りの印刷物が出来上がりません。

見積書に表示する得意先名等はレポートの最初のページにのみ表示させたいので、レポートへッダーに。
もし毎ページ得意先名等を表示させたいのであれば、ページへッダーに。
このように自分で表示させる位置によって設定を変える必要があります。

3枚目の締めの明細金額の合計はレポートの一番最後にのみ表示したいので、レポートフッダーに
設定します。

ここまで整えたらあとは明細行をコントロールするVBAコードを編集します。

=============================================
東海税理士会の広報部員として活動し始めてもうすぐ4年。任期もあと2か月を残す
ばかりとなりました。やっと毎月の名古屋行きから解放されることとなりますが、
今まで毎月顔を合わせていた仲間と会えなくなる寂しさもあり、複雑な心境です。

本日も最後までお読みいただきありがとうございます。

クエリとVBAのコードを編集する

先日、源泉所得税で86万円を超える場合の説明をしました。
そのとき掲載したクエリがとにかく長く、同じフィールドを幾つも使っています。

例えばこれをコピペで使おうとした場合、自分で設定しているフィールド名と違うとクエリが上手く
動いてくれません。

そんな時は、コピーの基となるクエリをコピーして、Wordに一旦貼り付けます。

続きを読む

最終仕入原価法を求めるクエリ

税法では在庫の評価方法は最終仕入原価法なので、その単価を求めるクエリです。

図のようにクエリの設定をします。

最終仕入日: DMax(“日付”,”Q入庫単価”,”花材NO=” & [出荷伝票].[花材NO] & “” & ” and ” & “日付<=# ” & [日付] & “#”)

最初にその商品を出荷した日に一番近い仕入日を求めます。近い仕入日はDMax関数を使って求めます。

続きを読む

データベース基本~まとめ

今までAccessデータベースの基本を、テーブルの作成からリレーションシップの設定まで
まとめてきました。
ここまでは簡単に言うと、データを入れる箱を用意したにすぎません。ここからその箱に
データを入れていきますが、当然テーブルに直接データを入れるというわけにはいきません。
(もちろんテーブルに直接入れるときもありますが、まれです。)

データの入力を効率的に行うために、通常フォームを作ります。

フォームに入力したデータを出力するときは、レポートから印刷します。

フォームとレポートを作るためには、クエリという機能を使います。
クエリを使うことでテーブル間のデータを効率よくやり取りすることができます。

例えば、納品書を例にとると、
まず、得意先を選択します。
これは納品書に得意先CDを入力すると、それに該当する得意先名と住所等の情報を
得意先テーブルから取得します。

商品についても、納品明細に商品CDを入力すると、商品テーブルからその商品CDに対応
する商品名と単価等が表示されます。

納品明細に数量を入れると、単価×数量で金額を計算します。これもクエリを使います。

月末に締めて請求書を発行するときも、更新クエリと追加クエリを使って請求を締切ります。

データベースを作るとき、どれだけ使い勝手のいいデータベースができるかどうかは
クエリの使い方にすべてかかってきているといっても過言ではありません。

クエリを使いこなすことができれば、AccessVBAを知らなくても立派なデータベースを
組むことができます。

この先のクエリの設定については、
2016/2013/2010/2007対応 Accessクエリ ビジネス活用事典
を是非ともご参照ください。

本を出版した関係で、法律上同じ内容をネットで公開することができません。
事典と称していますが、Accessクエリを一から勉強できるように、難易度も低いテーマから
高いテーマの流れになっております
。すべてのTipsについてサンプルファイル付きです。

================================================
明日は、掛川新茶マラソン。今季最終戦です。
自己ベストが出るように、頑張ります。

本日も最後までお読みいただきありがとうございます。

データベースの基本16~リレーションシップの設定④

これをリレーションシップの設定に反映させます。

一見見ただけでは、どこの連鎖更新が設定されているのか?はわかりません。
そのときは結合している線をダブルクリックすると結合の情板がわかります。上の図ですと、

①得意先テーブルの得意先CDと納品書テーブルの得意先CDは参照整合性と連鎖更新
②請求書テーブルの請求書NOと納品書テーブルの請求書NO、納品書テーブルの納品
書NOと納品明細テーブルの納品書NOは、参照整合性と連鎖更新と連鎖削除の設定
をしています。
続きを読む


1 / 7412345...102030...最後 »