ACCESS 領収書の作り方
ACCESSで作ることが多いのが、売上・請求管理のシステムです。
売上情報を入力して、そこから見積書や請求書、領収書を既定のフォーマットで出力できると非常に便利です。
今回は、ACCESSで領収書を作成する方法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSで実際に作成したフォームやレポートを、その作成方法と共にご紹介していきます。
領収書発行機能の完成形
最初に完成形をお見せします。
まずは売上情報をフォームで入力します。
そして、この画面の下段にある「領収書」ボタンを押します。
すると、入力した情報を元に下記の領収書を表示します。
では、この領収書を作っていきましょう。
テーブルの準備
最初に売上情報を格納するテーブルを準備します。
ここで注意すべき点が1つあります。
一般的に売上は、1つの売上伝票(1購入)で、複数の商品やサービスを購入すると思います。
例えばお店で買い物をしたときのレシートなどもそうですよね。
1枚のレシートが売上伝票で、そこに購入した商品の数量や単価といった明細が記載されます。
これをACCESSで実現するためには、2つのテーブルが必要です。
ここでは便宜的に売上テーブルと売上明細テーブルと呼びますが、以下のような違いがあります。
テーブル名 | 含まれるフィールド |
---|---|
売上テーブル | 売上ID、顧客名、購入日、合計金額 |
売上明細テーブル | 売上明細ID、売上ID、商品コード、商品名、単価、数量 |
売上伝票には伝票で必ず1つになる情報のみが入ります。
1枚の領収書で商品ごとに顧客名や購入日が変わることはまずないですよね。
一方で、売上明細には1つの売上伝票で複数回繰り返される情報が格納されます。
そして、売上テーブルと売上明細テーブルをリレーションさせるために、売上明細テーブルに売上IDという、売上テーブルの主キーを持たせているのです。
テーブルの作成方法やリレーションシップの方法は下記の記事で詳しく紹介しておりますので、興味のある方はご覧ください。
フォームの準備
次に、入力用のフォームを準備します。
ここでは、デザインビューでフォームを作成しました。
データ入力用フォームの作成方法について詳しく知りたい方は、下記の記事をご覧ください。
実際に作成したフォームをデザインビューで見ると下記になります。
いろいろな要素が入っているので複雑に見えますが、基本は売上伝票単位で1つの情報(売上日、顧客名、合計金額等)と、売上伝票1つに対して複数付随する情報(商品名、数量、単価等)に分けられます。
売上伝票単位で1つの情報は、フォームに単票形式で表示をしています。
このデータは売上テーブルに格納してあります。
一方、売上伝票1つに対して複数付随する情報は、一覧フォームにしてサブフォームとして張り付けています。
このデータは、売上明細テーブルに格納してあります。
これでデータを入力するフォームは完成です。
レポートの作成
先ほど作成したフォームに入力した情報を反映できる領収書レポートを作成します。
レポートの作り方の基礎はこちらの記事をご覧ください。
今回作成する領収書レポートですが、デザインビューで見ると下記になります。
こちらは単票レイアウトで作成しています。
レポート全体のレコードソースは「売上テーブル」です。
レポートヘッダーに設置されている、顧客名、売上ID、処理日、小計、消費税、伝票合計等の値は、すべて売上テーブルを参照して表示します。
一方で、詳細セクションにはサブレポートを配置しています。
このサブレポートだけを取り出してデザインビューで表示すると下記になります。
こちらは一覧表フォームにしてレコードを繰り返し表示します。
レコードソースは売上明細テーブルを元にしたクエリです。
商品ID、商品名、数量、単価などを売上明細テーブルより表示しています。
そして、メインレポートとサブレポートは売上IDでリレーションさせています。
メインレポート上に配置したサブレポートを選択し、右側のプロパティシートでリンク親フィールドとリンク子フィールドを設定することができます。
ここを両方とも売上IDにすることで、売上テーブルと売上明細テーブルで同じ売上IDを持つレコードがリンクして表示されます。
これで領収書レポートができました。
フォームからレポートを表示
最後に、フォームで領収書ボタンを押した際に、開いているフォームの売上IDと同じ領収書が開くように設定します。
売上伝票入力フォームをデザインビューで開きます。
デザインビューへの切り替えは、ACCESSメニューから行うことができます。
デザインビューで開いたら、領収書ボタンを選択した状態で、プロパティシートのイベントタブ、クリック時イベントを設定します。
クリック時イベントの行の一番右にある「…」ボタンを押します。
ビルダーの選択が表示されますので、コードビルダーを選択します。
Visual Basic Editorが起動します。
下記のように記述しましょう。
DoCmd.OpenReport "領収書", acViewPreview, , "売上ID = " & Me!売上ID
Docmd.OpenReportメソッドを利用して、領収書レポートを開く設定です。
最後の「”売上ID = ” & Me!売上ID」を記載することで、フォームで開いている売上IDと同じ売上IDのレポートが開くようになります。
これで、VBAでの領収書を開く設定も完了です。
以上、領収書の作り方をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。