(このページは現在進行形・試行錯誤中のメモ書きなので、内容が適切かどうか確認しておりません。あしからず)
ハガキの宛名印刷には Access の住所録のデータを Word で印刷という方法をとっています。データベースは Access 95 から 2000 のころのサンプルを手直ししながら使っているのですが、これだけのために Access 付きの Microsoft Office を購入するのももったいないですし、それ以上に Windows と MS Office というプラットフォームに制限され続けるのもおもしろくありません。
フリーのデータベースというと、WordPress で使っている MySQL、日本でユーザが多いという PostgreSQL、ファイルで組み込めて PHP にも含まれる SQLite、OpenOffice などの BASE (中身は Java の HSQLDB) といったところでしょうか。
WordPress を利用しつつ、自分で使いやすいように作ればいいように思うのですが、まずはデータベースと SQL をおさらい — 勉強しなおしです。Access のデータベースの中身をそのまま SQLite に移行することにします。ちょっと触るだけなら、サーバ不要のデータベースがよさそうですし、Mozilla も使っていますしね。
- SQLite Download Page
- Precompiled Binaries for Windows
- sqlite-shell-win32-x86-3080200.zip (285.50 KiB) : A command-line shell for accessing and modifying SQLite databases. (Windows 32 bit、シェル用)
- SQLite Release 3.8.2 On 2013-12-06 (3.8.2) (リリース ノート)
- Command Line Shell For SQLite (コマンドの解説)
- sqlite-shell-win32-x86-3080200.zip (285.50 KiB) : A command-line shell for accessing and modifying SQLite databases. (Windows 32 bit、シェル用)
- Precompiled Binaries for Windows
Windows のシェル用バイナリをダウンロード。解凍すると sqlite3.exe という単独の実行ファイルになっています。日本語の解説は、
一応、DLL もダウンロード。C:\Windows\System32\ に sqlite3.dll をコピー。(この DLL がなくても ODBC ドライバーは動く)
Access からエクスポートできる種類の中に ODBC データベースがあります。SQLite のドライバがあればエクスポートできます。
- AccessからSQLiteのデータベースを使用する方法 (日本語解説)
- SQLite ODBC Driver (配布元)
- sqliteodbc.exe (0.996) (Win32. … made with SQLite 2.8.17/3.8.2)
- sqliteodbc_w64.exe (0.996) (Win64. … made with SQLite 3.8.2)
日本語解説のリンク先である配布元の文章を読むと、Windows が 64 bit でも、使うソフトが 32 bit なら 32 bit を使うように書いてあるので、32 bit 版の sqliteodbc.exe をダウンロード、実行(インストール)。
コントロール パネル\システムとセキュリティ\管理ツール から「ODBC データ ソース アドミニストレーター (32 ビット)」 を起動。「システム DNS」に「SQLite3 Datasource 32 ビット SQLite3 ODBC Driver」ができています。(…たぶん。いろいろな操作を実行したあとに確認したので、この時点では違うかもしれません。一度なにかを設定すると、削除したつもりでも、設定がどこかに残って、次に使われたりするので、初期の状態がわからなくなりました。具合が悪かったら、このへんをいじるといいはず…)
手元の Access 住所録 を Access 2010 で開きます。テーブルを開きます。テーブルは一つだけでした。リボン「外部データ」→「エクスポート」→「その他」→「ODBC データベース」にエクスポート。
ダイアログで、「住所テーブルのエクスポート先」はデフォルトの「住所テーブル」(ODBC データベース)のままでもいいのですが、文字コードが気になるので「mxJushoTable」(ODBC データベース)に変更。
「データ ソースの選択」ダイアログで、「コンピューター データソース」タブ、データソース名「SQLite3 Datasource」を選択、「OK」。そうすると、Access ファイルと同じディレクトリに 「sqlite.db」 というファイルができます。テキストエディタで無理やり開くと、日本語部分は概ね UTF-8 になっているようです。Access が UTF-8 なのか、SQLite3 ODBC ドライバが UTF-8 にしているのかは不明。
sqlite3.exe で sqlite.db を開けます。 .output でファイル名を指定して .dump すると、中身が SQL で書かれたテキスト ファイルに落ちます。これは UTF-8 でした。簡単なヘルプは .help で。cf. Command Line Shell For SQLite (コマンドの解説)
UTF-8 がどうこう言っているのは、ODBC ドライバに日本語が通るパッチを書いている方がいるからです。ただし、それがちょっと古い(2008/05/24, 2009/08/23)ので、かえって適用しないほうが無難かなと思いました。すくなくとも、私が現在 対象にしているデータベースに関してはドライバの日本語化を考えずに済みそうな感触です。
(2014/1/8)
「アドレス帳のデータベース移行の下調べ」への1件のフィードバック