やりたいこと
DataBase(Sqlite3)からデータを取り出し、WORDへ差し込み印刷を行う。
環境
・Windows10(64bit)
・Microsoft Office365 Business
経緯
小さい農場なのでスタッフ(パートさん)の数も少なく、勤怠管理はEXCELで行っています。
そして毎月の給与明細はWORDを使ってEXCELからデータを読み込み差し込み印刷をするようにしていました。
ですが、さすがに数年も経つとデータが多くなり、どうしてもEXCELの動きが緩慢に・・・。
今後のデータ集計のことも考えてDataBase(Sqlite3)へのデータ保存を実施。
それに伴いWORDの差し込み印刷もDBからの読み込みへと変更・・・するつもりだったのですが。
ちょっとうまくいかなくて困っています。
未解決ではあるのですが、ここまでの作業をまとめてみました。
作業内容
EXCELからSQLITEへのデータ保存はVBAで実装しました。
ここではSQLITEからWORDで差し込み印刷をするところ(途中ですが)までをまとめます。
ODBCドライバの準備
Office製品なので、たいていはODBCドライバを設定すればなんとかなるだろう、
ということで、以下のサイトからODBCドライバをインストールしました。
http://www.ch-werner.de/sqliteodbc/
Windows10の64bit版なので、「sqliteodbc_w64.exe」を選択してインストール
(さくっと終りました。)
ODBCドライバの設定
Windowsのスタートメニューから、
「管理ツール」→「ODBCデータソース(64ビット)」を選び、「ODBCデータソース アドミニストレーター(64ビット)」を起動します。
ユーザ関係なく使えるようにしたいので、「システム DSN」に新規のデータソースを追加しました。
Data Source Name:任意
Database Name:SQLITE3のファイルパス
を指定して作成します。
データソースへの接続確認
てっとり早くOfficeとの接続を確認したかったので、Microsoft Accessで接続確認をしました。
空のAccessを起動し、メニューから、
「外部データ」→「新しいデータソース」→「他のソースから」→「ODBCデータベース」を選びます。
リンクでの接続を選び
先ほど作成したデータソースを選びます。
リンクしたいテーブルを選ぶと、
問題なくリンクできました。
##差し込み印刷の設定
メインのWORDでの差し込み印刷を行っていきます。
WORDを起動して、リボンから、
「差し込み印刷の開始」→「差し込み印刷ウィザード」を選びます。
任意の「文書の種類」(今回は「レター」を選択しました。)を選択して、「次へ」をクリック
「ひな形の選択」はとりあえず「現在の文書を使用」にしておいて、肝心の「宛先の選択」へ。
すでにDatabaseはあるので、「既存のリストを使用」を選び、「参照」をクリック
「新しいソース」をクリックし、
「ODBC DSN」を選択
作成したODBCデータソースを選びます。
と、ここでAccessと同じようにテーブルの選択になるはずなのですが・・・
というエラーメッセージが出て先へ進めません・・・。
困りました・・・。
#対策
Accessではうまくいって、WORDでは駄目って釈然としないのですが、とりあえず今はここまで。
最悪はAccessかExcelでデータ経由してやるのも手かなとは思っています。
(あんまり使い勝手が良くないですが。)、