第36章 CD管理プログラムをACCESSで作る

音楽CDや写真や動画を入れたDVDも貯まってくると、目的のものがどのCDDVDにあるのか探せなくなる。そこでCDに通しNOを打っておき、パソコンのデータベースを利用しよう、と考えるのはごく自然ななりゆきだろう。そこで、MS-OFFICEにあるACCESSを利用して、簡単に検索できないか、と考え、とりかかるこに。-------------------


検索のキーワードは、演奏者、作曲者、曲名などが考えられるが、音源ソース、楽器名などもあったほうがいいだろう。
またCDやLPレコードなどのレーベルなどの画像も表示したいものだ。

これらがすべてこのACCESSでできるのかだろうか?これが問題だ。

ACCESSを利用し友人や会社関係の住所管理プログラム作ったことがある。それで分かったことは、ACCESSはこの手のデーターベース(名刺管理、住所管理など)を作るにはぴったりで、1つの項目(フィールド)に1つの検索なら選択クエリをつかえばいとも簡単に目的の人(レコード)を探し出せる。複数の条件のアンド検索も選択クエリを使えば、まったくプログラムをつくることもなく、できる。ちょっと工夫すれば、あて先の印刷もできるし、日付けや、喪中などの判断、出し、受けの判定も可能なので、年賀状の住所印刷、管理などにはうってつけのソフトだということである。フォームへの入力も入力テーブルからクエリを作りコンボボックスをつくれば簡単。理想的なプログラムができる。ならこれを利用すれば、CD管理も簡単に作れるだろう。
と安易に考えとりかかることにしたのだが。それがなかなか一筋縄ではいかないのだ。

CD管理には、これまでやったことのない課題をクリアしなければならない。1つ目は;フォームやレポートにレーベル写真(jpg)を貼り付けたい、がこれができるかどうかだが、
やれるかどうかさえわからない。

2つ目は;CDは1つのレコードにつまり1CD(レコード)に、20曲以上もの曲とそれぞれに作曲者名がある。これが問題だ。曲名や作者で検索しようとすると、単に選択クエリを利用しただけではうまくいきそうにない。のちに曲のリストをレーベルに印刷したり他にデータを応用するには、1フィールドに1曲ずつ、つまり1レコードあたり、曲名に20フィールド、作曲/編曲者に20フィールド合計40フィールドの線はゆずれない。

ACCESSのマニュアル本を読み返してみても、同類の作例がさっぱり見つからない。このような用途は(たとえばカタログの管理とか、雑誌の目次の管理DVDの映像ファイルの管理 DVDの動画ファイルの管理等等、結構応用範囲は広い多いとおもうのだが。手持ちのマニュアル本にはこんな身近なテーマの作例さえないのはどうしたことだろう。 まあなんとかなるだろうと取り組み、幸い完成できたからいいものの、できなければ徒労だ。筆者と同じ轍をふまないように、公開しておく。しかし実際のやりかたを文字だけで説明するのは猛烈に難しい。理解できない点もあるだろうが、ヒントにでもなれば幸いだ。(半分自分用かも。)


1フォームやレポートにレーベル写真(jpg)を貼り付ける方法。

無味乾燥のフォームに写真が表示できればグッと見やすくなり応用範囲がひろがる。  これを簡単に実行するには、貼り付けたいフォームにデザインビューのツールボックスから”イメージ”を貼り付け、マクロの値の代入でこれに、イメージをフルパスで代入するようにすればいいのだ。しかしこれだけでは画像は表示されないから次のようにしなければならない。

筆者の例では(フルパス写真NO生成し; [Forms]![F_Q_T_CD管理]![フルパス画像NO] へ  [Forms]![F_Q_T_CD管理]![DIR]+Format([Forms]![F_Q_T_CD管理]![ID])+".jpg"を代入。)とし、IDとおなじ番号のjpgファイル名を作っておく。

このあとさらに、たとえば[Forms]![F_Q_T_CD管理]![写真イメージ].[Picture] へ [Forms]![F_Q_T_CD管理]![フルパス画像NO]を代入することで画像が表示されるようになる。あらかじめ(F_Q_T_CD管理というフォームには[フルパス画像NO]と[DIR]と[ID]と[写真イメージ]というコントロールを設けなければならないのはいうまでもない)ここで .[Picture]をくわえることが成功のポイントである。

そして”IDと同じNOのjpgを指定する場所に入れておけばよい。筆者の例では;D:\CD管理\画像¥15.jpgなど--。である。


2 多くのフィールドから一つのキーワード(曲名)を探し出すには

これには選択クエリでor検索でできないこともないが、記述が非常にややこしくなって、たいてい失敗するだろう。単純で間違えないやりかたは次のとおりだ;

いくつかのフィールドをテーブルに追加しておく。(メモ型がよい)ここへ検索したい複数のフィールド(曲名や作曲者など)の値を+したものを格納しておき、ここを選択クエリで選ぶのがもっとも簡単でまちがいない。値を+したり、このフィールドに書き込むのはマクロでするのが簡単だ。そしてこれを入力完了ボタンのイベントなどで実行すればいいわけだ。

フォームのデザイン



                                               テーブル
           

検索項目を入力しなければすべてのCDが表示されるようにしておく



一覧表をクリックすれば該当するCDが表示されるようにする

各オブジェクトの詳細の一部

フォーム                                    マクロ                              クエリ


クエリ



                                        

レポート                                 テーブル

  

クエリ                          画像を表示するマクロ

TOP ページへ