Baseのテーブルに登録したデータをCalcに移行したり、Baseのクエリーを実行して得た結果をグラフ化するためにCalcに移行するなど、Base⇔Calc間のデータのやり取りを行う方法を紹介します。
なお、下記の検証用サンプルファイルを用意しましたので、検証される方はダウンロードし、解凍した上でお使い下さい。
データ移行サンプル.zip
BaseからCalcへのデータ移行
①まず、フォルダー「データ移行サンプル」に格納されたデータベースファイル「公共施設1.odb」を開きます。
②「公共施設1.odb」には2つのテーブルがあり、下図のようにそれぞれのテーブルには幾つかのレコードが登録されています。また、クエリーオブジェクトが一つ登録されています。
③次に、データの移行先として、Calcを新規に開いておきます。カーソルはセルA1を指定しておいてください。
④下図のように、データ移行するテーブル「公民館マスター」をダブルクリックで開きます。
⑤全データを指定する領域(上図の赤い線で囲った領域)をクリックします。
⑥すると、下図のように青く反転して全レコードが指定された状態になりますので、アイコン「コピー」をクリックします。
⑦次に、開いておいたCalc編集画面のアイコン「貼り付け」をクリックします。(下図参照)
⑧すると、下図のように全データがCalcのシート上に貼り付けられます。(列幅は調整してあります。)
⑨下図の赤い破線の領域に注目して下さい。Baseの列名も貼り付けられていますが、残念ながら列名の全角文字には対応していないため文字化けしています。1行目を削除した上で新たに行挿入し、列名に相当する行を新たに手入力して下さい。
⑩下図が列名に相当する行を手入力した状態です。また、シート名を「東京都公民館マスター」に変更しました。
⑪次にアイコン「+」をクリックし、シートを追加して下さい。今回もカーソルはセルA1を指定しておきます。
⑫Baseのクエリーオブジェクト「クエリー_図書館マスター」をダブルクリックし、実行結果画面で⑤と同様の方法でデータをCalcにコピペし、列名行を入力しなおした状態が、下図です。2つ目のシート名は「東京都図書館マスター」としました。
⑬Calcデータを表計算ドキュメント「東京都公共施設.ods」として保存します。
CalcからBaseへのデータ移行
①まず、保存しておいた表計算ドキュメント「東京都公共施設.ods」を開きます。
②次にフォルダー「データ移行サンプル」に格納されたデータベースファイル「公共施設2.odb」を開きます。ここには「公共施設1.odb」と同じ名前、同じ構造のテーブルが2つありますが、どちらもデータは登録されていません。
③下図のようにCalcのシート「東京都公民館マスター」を開いて下さい。
④全データを指定する領域(上図の赤い線で囲った領域)をクリックします。
⑤すると、下図のように青く反転して全レコードが指定された状態になりますので、アイコン「コピー」をクリックします。
⑥次に下図のように、Base編集画面のテーブル「公民館マスター」上で右クリックし、コンテキストメニューより「貼り付け」を選択します。
⑦すると、下図のようにダイアログボックス「テーブルのコピー」が表示されますので、そのまま[次へ]をクリックします。
⑧すると、下図のように「列の割り当て」画面が表示されますので、そのまま[完了]をクリックします。
⑨下図がテーブル「公民館マスター」をダブルクリックして開いた状態です。
(注1)この例ではテーブル「公民館マスター」のフィールド「ID」をプライマリーキーとして定義しておいた状態でデータ移行しました。移行元のCalcデータのID列に重複データがある場合はエラーが発生しますので、こうした恐れがある場合はプライマリーキー指定をしておかないで移行したほうが無難でしょう。
(注2)Baseを新規に作成する際に表示されるダイアログボックス「データベースウイザード」でラジオボタン「既存のデータベースに接続」をONにし、プルダウンメニューから「表計算ドキュメント」を選択してCalcやExcelで作成した表計算ドキュメントを開くことも可能ですが、この場合は作成されたodbファイルのテーブルにレコード追加したり、リレーションシップ等のBaseオブジェクトを作成することができません。
コメント
[…] これらは少し手間が掛かる手法ですが、手元にmdbファイルかaccdbファイルがあって内容を閲覧したいけれども、手元のPCにMS-Accessがインストールされていない場合に役に立ちます。また、mdbファイルからCalc経由でBaseにデータ移行する際の前処理として活用する場合にも役立つでしょう。 (注)データ移行の詳細についてはサイト「知っていますか」の記事「BaseとCalc間でデータ移行するには」を参考にして下さい。 […]