ExcelVBAでAccessを連携させる本を書きました

ブログで公開したExcelVBAとAccessの連携シリーズを元に、より実務的なサンプルを解説した、1冊の本にさせていただきました。VBAを使わず、標準機能のみで連携を実現させる方法と、VBAを使ってExcelからAccessデータベースを操作する方法を紹介しています。
改訂版が出ました!
2021年7月に、増補改訂版を発行させていただきました。DLサンプルの機能は改定前と同じにしたうえで、よりわかりやすく、汎用的に使いやすくなるようにコードをすべて書き直し、本文の解説も大幅に変更しましたので、ぜひそちらをご覧ください。
サンプルアプリケーションが付属のCD-ROMに収録されており、最初は1つのテーブルから、次にテーブルを2つに分けてリレーションを張り、最終的には5つ構造のテーブルにして、ExcelVBAでユーザーフォームを使ったAccessへの読み書きの実装を、体験しながら学習できます。

本を書くのは初めてでとても緊張して、「はじめに」の1ページを書くのにやたら時間がかかりました…。。
情報
- 発売日: 2016/06/29
- ページ数: 336ページ
- 定価: 本体2680円+税
- 出版: 技術評論社
概要

ちょこっと中身を覗きながら、どんな内容なのかご紹介します。
CHAPTER1 Excel & Access連携の基礎知識

この本のイントロダクションです。ExcelとAccessの連携にあたり、それぞれの特徴や得意・不得意分野、運営にあたっての注意点を解説し、次章以降で出てくる用語を学んでいきます。
CHAPTER2 標準機能を使ってExcelのデータをAccessに書き込む

VBAを使わずにExcelシートをAccessのテーブルに格納する方法の解説です。Accessを利用するための基礎知識や、データ型について学んでから、ExcelシートをAccessに取り込める形に成形して、Accessの標準機能を使ってインポートします。
CHAPTER3 VBAを使ってExcelのデータをAccessに書き込む

CHAPTER2の内容をExcelVBAで実装する方法を解説します。Accessでテーブルを作成しておき、ExcelVBEの使い方、Accessへ接続するコード、データを書き込むコードを作成します。
CHAPTER4 標準機能を使ってAccessのデータをExcelに読み込む

Accessのエクスポート機能、Excelのインポート機能を使って、AccessのテーブルをExcelに読み込む方法を解説します。次いで、Accessのクエリを使って条件に合うデータのみを抽出し、そのデータをExcelへエクスポートします。
CHAPTER5 VBAで専用フォームを作成してAccessのデータをExcelに読み込む

この章より、Excelでユーザーフォームを使ったアプリケーションとしての仕組みを作っていきます。まずは、ユーザーフォームの基礎知識を解説したのち、

このような、スタートメニューとなる「メイン」のフォームの作成をしていきます。
CHAPTER6 専用フォームを使ってExcelからデータを追加・更新・削除する

CHAPTER5に、Accessのデータを操作するフォームと、条件をつけて読み込むためのフォーム、それを実装するVBAを加えて、アプリケーションを完成させます。


このようなフォームからAccessのデータを読み書きできるようにします。
CHAPTER7 列数の多いExcelシートを分割しAccessの複数テーブルで利用する

リレーショナルデータベースの基礎を学び、CHAPTER6までのアプリケーションを、テーブルを2つ(トランザクションテーブルとマスターテーブル)に分けた構造にします。ExcelVBAでは、2つのテーブルでこれまでと同じ内容の読み書きができるように改変します。


マスターテーブルの情報をExcelフォームのコンボボックスに読み込み、関連情報を自動入力できるようにします。テーブルを分割することで利便性が増すことが実感できます。
CHAPTER8 [完全版]Excel & Access連携アプリケーション

更に実用的に、テーブルを5つに分けた本格的なアプリケーションを作成します。VBAでは5つ構造に対応したコードに改変します。


テーブルを分けると、自動入力できる箇所が増えます。そこで使う識別文字を、今までの見た目を損なわないように、コンボボックスの2列目に格納するなどの工夫をしながら、実装していきます。
おまけ

今回、書店に置いてもらうPOPも描かせていただきました。新刊としての扱いの短い間だとは思いますが、もしもお目にかかることができたら嬉しいです!

実際に本屋さんに並んでいる様子を見てきました! ほんとにあった… (゚∀゚*)
(書店の許可をいただいて撮影&アップロードしております)
さいごに
今回、初めて書籍の執筆という経験をさせていただきました。
決して安くない金額を投資して読んでいただくものだからと気を引き締め、慎重に書き進めていきましたが、Excelも、Accessも、データベースもVBAも書けば書くほど奥が深く、解説することがいかに難しいのかを痛感しました。
だからといって書きたいことを長々だらだらと書いて良いわけではなく、1冊の本としてのストーリーや一貫性を守ったうえで、決められたページ内で簡潔に書くという、そんな制約の中、精一杯の内容を詰め込みました。
現状のわたしにしか書けない、わたしなりの言葉でこのテーマを書き上げたことで、どなたかのお役に立つことができたならば、この上なく嬉しく思います。
最後に、今回のようなチャンスを与えてくださった技術評論社の方々と、興味を持ってこのページを読んでいただいた貴方に、厚く御礼を申し上げます。
この本が、あなたのお仕事のとっかかりになれたら、幸いです。
ExcelVBAに興味をお持ちの方は、こちらの記事もどうぞ!
- これからExcelのマクロを始めたいという方に!簡単な練習問題作りました。
- 私がExcelVBAでよく使う便利なコード・スニペットまとめ
- プログラム初心者さんへ贈る、エラーが起きたら試してみて欲しいこと
- ExcelVBAのクラスモジュールって何?という人向けの使い方まとめ
書籍を執筆しています。

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。