Libre Office Baseで違う項目を抽出する方法 〜どれが楽なのか〜

2022年10月6日

Baseで条件を抽出する方法はいくつかあります。クエリーで条件を指定して抽出できたらレポートを作成という流れで大方問題はないかとおもいますが、方法に迷う場面があります。計算がしたい、見たいだけ、レポートも作りたい。希望がそれぞれあると思います。

Accessであればまた違う方法があると思いますが、LibreのBaseに限ったお話とさせていただきます。

抽出して何がしたいのか?が肝

これは最初の段階で考えておくべきことです。方法はそれによって変わってくると思います。例えばレポートのようにちゃんと書類を作成しなければならないのか?もしくはただ見たいだけなのか?というようなことです。以下に方法を書いていきます。デメリットなども書いていくのでご自分に合った方法をご検討ください。

毎回打ち込む必要があり、抽出したものだけの計算はできないといったところです。個人的にはあまり好きな方法ではないし、これを使うメリットがあまり見つかりません(笑)

クエリーを別々に作成してレポートも別々に作る”1クエリーに1条件”

個人的にBaseでは一番お勧めの方法です。ひとつのクエリーにひとつの抽出条件を設定する方法です。クエリが増えます。レポートも増えます。作る手間もあります。しかし一度作ってしまえば後は楽です。作りたい項目が無限でなければ私個人的にはこの方法をお勧めします。

デメリットは最初の手間とクエリーやレポートの数が増えることですが、一方メリットは

抽出条件を固定してしまうので割と複雑な計算もできることと、レポートを作成するのであれば一発でできてしまう(しかもリアルタイムで)

ということです。確定申告でもしも税務署が来た時でも、フォームからレポートを表示できるようにボタンでも設置しておけば一発で出すことができます。これは魅力的。

ちなみにここで配布している帳簿でもこの方法を採用しています。

帳簿の経費項目なんて無限ではありません。一年に増える可能性があるのなんて多くても5つもないでしょうし、大体項目名なんて決まってくると思います。一度完成してしまえば翌年も同じものを使えます。

フォームのマクロで検索

マクロをいじらないといけないのですが、マクロも一度やってしまうと親近感は湧くと思うのでチャレンジしてみてもいいと思います。マクロの設定方法は別記事をご参照下さい。

マクロは以下の通りです。まずこれをマクロに追加します。検索用のフォームを作っていきます。ここでは、クエリーからフォームを作ります。クエリーからフォームを作ると入力はできませんので検索して見るだけの役割です。

マクロに打ち込む内容は外部リンクをご参照ください→http://oooug.jp/faq/index.php?faq/4/976

※この外部リンクはBase専用のものではありませんがBaseでも同じように組み込むことができます。

簡単な概要としては、マクロに命令を追加して、プロパティでコンボボックスのなどにマクロを埋め込む作業になります。

マクロを埋め込んだ後はこんな感じ↓

科目検索の下のコンボボックスから項目を選択するとそれに当てはまる項目が表示されます。見たいだけなら本当に便利。ただし、この機能では抽出した結果の計算はできないです。

フォームで検索機能を使用しCalcにコピーする

フォームで検索して計算したい時に便利です。フォーム検索機能で検索したものをCalcにコピペする方法です。Calcにコピペしても計算式を入れないといけませんが、表計算ソフトはデータベースソフトよりは計算式が簡単な場合も多いです。残高計算はまさにそうです。コピペしていくのがめんどくさくなければアリかなとは思います。1項目1シートで保存していけば、割と可変的に手軽にできる方法です。が、迅速なリアルタイム性には欠けます。

クエリーの抽出条件に「;」

これもシンプルな方法。クエリーの条件のところに半角で「;」を追加します。これどけです。これでクエリーを開くと検索条件入力ボックスが出てくるので、条件を入れると結果を出してくれます。

この方法JA福岡市が配布しているマニュアルにも記載されている方法です。→https://www.ja-fukuoka.or.jp/upload/user/libreoffice_base_fb_jimu.pdf#page5

これで、クエリーを開く時に見たい結果を書き込めば抽出してくれますが、デメリットは

毎回打ち込む必要があり、抽出したものだけの計算はできないといったところです。個人的にはあまり好きな方法ではないし、これを使うメリットがあまり見つかりません(笑)

クエリーは増やさずに、抽出条件を手入力で変えレポートにしてPDF変換

クエリーは増やさずに、手作業で抽出条件を入力して、レポートに反映されたものをその都度PDFにする方法です。クエリーが増えすぎるのがどうしても嫌な方には良い方法かと思います。

帳簿で言えば、年末にまとめて処理する場合は、確定申告の手前でこの作業をするのも良いかと思います。ただ、年末の忙しい時にクエリー抽出作業を1つずつ行い、レポート出力まで行う必要がありますのでバタバタ感があるし、修正しにくいというデメリットもあります。

まとめ

メリットとデメリットのポイントをまとめると

・クエリーとレポートの数が増えるのを許容できるか(手間も)

・リアルタム性をどれだけ必要とするか

ということだと思います。ただ、みたいだけであればどれでもOK。個人的には検索機能をマクロで埋め込む方法が好きです。抽出したい項目数が固定されていてそれらの計算が必要なら”1クエリー に1条件”という方法をお勧めします。項目数が果てしなく多い場合は、検索機能からCalcにコピーが良いかなあ。と思いますがもっといい方法あるのかな・・・