Accessがめざすもの '05/06
** Excelとの協調とAccessの役割 **

Access周辺には多くのソフトウエアがあります。
ここでは、テーマ(課題・問題点)に応じた最適なソフトの選択・判断基準について考えます。
特に、Accessとはファミリー関係にあるExcelとの関連を主題に、それぞれの特徴を知り相互のメリット(得意性、優位性)を活かした協調・補完しあう効率的な連携システムを確立する Accessの位置・役割を模索します。

 1.Accessと汎用ソフト
 2.Accessと周辺ソフトの比較  
 3.AccessとExcelの着眼  
 4.Access と Excelの役割分担・データ変換
 5.Accessの統合機能
   

1.Accessと専用・汎用ソフト
周辺で使用されるさまざまなソフトの選択は、取り上げた「テーマ」の目的、要求水準、難易度、 予算等の条件によっては変ってきます。また、一つの特定のソフトだけでは十分ではなく、必要なら複数のソフトを活用することもあるでしょう。

一般的に、ソフトは「専用ソフト」/「汎用ソフト」に分類されますが、Accessは「汎用ソフト」に属します。(表1 参照)
専用ソフト;
完成した商品として提供され専用ソフトは、主としてソフトの 「使い方」だけを習得すればよい。
自ずと摘要範囲は限定されるが、短時間に即効的な成果が得られる利点がある。 ただし、個々の目的ごとソフト購入し、それぞれの操作法を学習するのは逆に負担がかかるだろう。
単独で完結するなら専用ソフトでよい。法規や慣習ががあり標準化された給与、会計などのシスステムは専用ソフトで充分間に合う。
ただし、受注・販売、生産計画などのシステムは企業・団体によって個別差があるから市販アプリケーションで柔軟に適合するとは限らない。
汎用ソフト;
作成方法(デザイン・作り方)だけが提供されている汎用ソフトは、インス トール後の初期状態では何も作動しない、白紙の状態にある。
作成内容(コンテンツ)は自らが設計し、仕様書を用意するなどの事前作業が必要で ある。
一般的に、満足するアプリケーションが得られるまでに修正を重ねることから完成までに 時間がかかる。
しかし、コンテンツは設計の自由度は高く、仕様を自由に表現できるから、一度ノウハウ を習得すると応用展開がきく。
ただし、ソフトにより設計・デザインの難易度もあり、スキル習得には一定の時間が かかるだろう。
同じ汎用ソフトでもWordやExcelなどは、短時間の学習によりその場で何らかの成果を示せるが、Accessの場合デザイン操作が複雑なため、初めての人にとって「敷居が高い」、「とっつきにくい」などといわれ敬遠され勝ちである。

表1 周辺ソフト  ()内はソフトの例示
専用ソフト;
☆ 趣味系;年賀状(筆まめ),住所録(宛名職人)、家計簿(ラクラク家計簿)
☆ 業務系;会計、給与、販売(弥生シリーズ、勘定奉行シリーズ)
☆ 住所録・家計簿(MyHomeHobby)
汎用ソフト;
☆ 文書など表現系(Word,一太郎,PowePointなど)
☆ 表計算系(Excel,ロータス1-2-3など) ? データベース系(Access,ファイルメーカー,桐、DBVなど)
☆ 画像(photoshopElements,PaintSopProなど)
☆ ホームページ(IBM HPビルダー,フロントページなど)
☆その他、フリーソフト(無料)、シェアウエアに有用なソフトも多く出回っている。

2.Accessと周辺ソフトの比較  
Accessの優位性について、「年賀状」と「見積」の2例をあげ説明します。  
データを専用伝票様式(フォーム)から入力ができる使いやすさ、データ処理の完全さ、ワン タッチで操作を実現するマクロ機能などを総合的に判断するとAccessは頼りになるソフトといえるでしょう。  

年賀状 表2 参照;
家庭でつくる年賀状や名刺などは市販の専用ソフトを使うのが手っ取り早い。誰でも賀状や宛名作成が間単にできます。「素材」が豊富なのも魅力。
しかし、既に別のソフトで作成済みの住所録データがあればこれを活かし、Officeソフトを使って年賀状を作成したい。
☆ 筆まめ、筆グルメ、筆王、筆やすめなど・・・単体で住所録、年賀状の作成から宛名書きまで完結している。
☆ Word・・・住所録、年賀状の作成から宛名ラベルまでひととおり完結している。
        ただし、名簿から例えば「喪中」の人を除いた条件処理を含む宛名ラベルはできない。
☆ Excel・・・住所録の作成は得意だが、宛名ラベルの作成が難点。
         住所録は(データの抽出を含めて)はExcelで、年賀状・宛名はWordの 差し込み印刷機能を併用する方法がある。
☆ Access・・・住所録、年賀状の作成から宛名ラベルまで完結している。
          画像など独自の「素材」は保有していないが、「素材集」から挿入すれば不自由はない。

表2 年賀状            凡例;◎・・・得意分野
ソフト 住所録(データ入力)  年賀状     宛名ラベル データの抽出    自動化
筆まめ
Word
Excel
Access
 ◎    ◎       ◎        ◎
 ◎    ○       ◎        ◎ 
 ◎    ○          
 ◎    ◎       ◎        ◎    
  ◎          ◎

  ◎
  ◎          ◎

見積  表3  参照
汎用ソフトを使って見積書を作成したい。
「見積書」だけの単体の業務もあるが、一般的には業務は連動しているから、「見積」があれば 「受注」もあると考えるのが自然である。
☆ Word・・・発生件数が少ない「見積書」だけの業務であればWordで充分だろう。
☆ Excel・・・見積と見積のなかから実際に受注した商品を関連づけたワークシートを作成することは可能である。
        しかし、データ件数が多い場合(例;数百件/年)、データの更新や自動化による連続処理の操作性は良好とはいえない。
☆ Access・・・業務が見積〜受注と連鎖している場合、「見積」と「受注」は独立したデータ テーブルに分化し、リレーションシップを設定し両者
         を関連づける。
         また、共有データであるマスタも独立させ、伝票作成に必要の都度顧客情報を 参照できるように設計すれば、完全な受注シス
         テムが期待できる。

表3 見積、受注      凡例;Accessでは
リレー方式で作業が連動している。
ソフト 見積(集計)  受注 顧客マスタ  印刷 デ^タの抽出  自動化
Word
Excel
Access
◎                      ○
◎   ◎
     ○           ○
◎   ◎    ◎ 
   ◎    ◎   

 ◎
 ◎         ◎

3.AccessとExcelの着眼  
住所録や家計簿はAccessでもExcel でも作成できます。  
しかし、多量のデータが処理できること、データの構造がデータベース近いこと、さらにオペレ−ションのやり易さ、操作性等に着眼し、Accessで開発しました。  
以下、Excelと比較しながらAccessによる住所録、家計簿の考え方や設計のポイントを説明します。  

 
3.1 MM住所録とExcel
AccessによるMM住所録は、どちらかというとExcel型に近い住所録です。リレーションシップも含まれていません。
設計のポイントは、オペレーターが住所録データを手間をかけずに、流れるように入力できる専用のフォームの作成にあります。完成した住所録はそのまま本番で使えます。
データのバックアアップを含め、全ての業務の起動・終了や更新操作がメインパネルからワンタッチできる仕組みも織り込みます。
住所録つくるだけならExcelを使えば比較的短時間で完成できます。ただしExcelの場合、例えばダイレクトメール用のラベル印刷はWordの差込印刷を併用する不便さが残ります。

 
3.2 MM家計簿とExcel
AccessによるMM家計簿はExcel型にないリレーションシップを組み込んだアプリケーションです。マスタファイルはトランザクション(データ入力伝票)と関連づけられています。
Excelにはないアクションクエリ、マクロなどオブジェクトの多くの機能も含まれています。関数の活用ケースは少数ですが、事務処理に必要な基本的な関数の使い方は織り込んであります。
家計簿は、リレーションを使わないでもExcel型のワークシート1枚で作成できないことはありません。それにも拘わらず家計簿をAccessによりデータベース化したのは、
 1.データ間の関係が相互複雑な事業系の業務では、Excel家計簿のような表単位で構成したアプリケーションでは応用展開が難しい。
 2.家計簿は1年単位の仕事で、「日々の締め」、「月々の締め」、「年間の締め」など家計簿 の入力データを時間の経過にともなう加工手続をExcelで自動化するのは難しい。
と考えたからです。
Access家計簿の意図は、伝票システムを含む一連の事務系処理(例えば、受注〜売上)を分かり易い家計簿を教材に使ってデータベースの技法を習得することにあります。
ただし、「予算・実績の対比分析」や「グラフ化による視覚的表現」などはAccess家計簿には含まれていません。これらは、得意分野のExcelのに任せたい部分です。

4.AccessとExcelの役割分担とデータ変換
アプリケーションの設計にあたり、なんでもAccess、なんでもExcelという「単独主義」 を排し、必要なら他のソフトの得意分野を活かしながら協調開発を図ることが肝要です。
しかし、市販はソフト分業化されていて、先ず「Word」があり、先ず「Excel」があり、先ず「筆まめ」があり・・・と、「自分の得意ソフト」の「できること」だけが強調される傾向があります。
例えば、Excelは「数値」・「計算」ばかりではなく、その豊富な機能を活用し、Wordで扱う文書や描画もExcelで作成してしまいます。少し手を伸ばせばデータ作成や更新処理もこなしてしまいます。ではExcelはオールマイティか?
Accessも同じです。Accessのアプリケーションが処理機能や操作性に優れた特徴があるとはいえ、Accessは万能ではありません。
例えば、ピボットテーブルがAccess2003以降使えるようになりましたが、あまり使う気にはなりません
特定のテーマ対して、そのソフトの「できること」に加え、そのソフトの「限界」も理解しながらシステム化を検討する姿勢が必要かと思われます。
以下、AccessとExcelの違いをみながら両者の連携・役割分担とそれを支える「データ変換」を考えます。

 4.1 AccessとExcelの役割分担
AccessとExcelの基本的な機能と役割分担のイメージを表4に掲げました。「データの処理」はAccess、「データの集計・分析」Excel が基本的な機能と理解されます。







★ Accessの役割   
  大量データを伴う定型業務の処理に適している。
  リアル処理、バッチ処理(例えば、月間の集計処理)などを含む操作の自動化が図れる。
  データ項目・件数が多い場合、専用入力フォームで対応できる。
  多項目間の検索ができる。
 
 
具体例;データ更新・参照、明細リストの作成、定型リスト・集計表等の印刷、検索 Excel向けサマリーデータ(中間の集計数値)の作成

★ Excelの役割   
  サマリーデータに基づく統計、分析、シミュレーションおよびそれらのグラフィック による視覚化(プレゼンテーション)などに適している。

 
具体例;経営分析、利益計画、販売計画、関数による応用計算、3次元のクロス集計、 検索

 表4 AccessとExcelの基本的な機能

 
4.2 Access ⇔ Excelのデータ変換
データ変換操作はウイザードに従えば間単にできます。これには、Access⇒Excelへ変換とExcel⇒Accessへ変換の二方向がありますが、実務ではAccess⇒Excelへデータを引き渡すケースが多いものと推測されます。

変換の注意事項があります。


データ型の違いのなどによるデータ変換が不完全な場合、事後の手修正が必要となります。特に、手入力で作成したExcelからの変換はエラーが発生しやすい。
リレーションを伴うデータの変換処理はワンステップ操作が加わります。
  * AccessからExcelへ変換する際、リレーションデータはクエリで一表化してからExcelに変換する。
  * ExcelからAccessへ変換で、親子関係にあるデータを混在したワークシートは、変換後複数のテーブルをAccess内でリレーションシップもったテーブルに再編成 (正規化)する必要がある。

  正規化のウイザードの操作;メニューバー ツール(T)→解析(Y)→テーブルの正規化(T)
  
 4.2.1 AccessからExcelへ
    
第1法;デザインモードなどから手動で作成 3つの方法を提示します。
    
第2法;マクロで作成  自動化した最良の変換方式
第1法
1. ドラグ&ドロップ  
 操作;Access;テーブルのレコードを範囲指定してから、Copy→Excelのワークシートに貼り付ける。
 * 全レコード指定のときは、テーブルの全件レコードセレクタをクリック
2. OffieLinks  右図1
 操作;変換対象のテーブル/クエリを開く→ツール(T)→OffieLinks (L)→Excelに出力(A)
3. エクスポート  
 操作;テーブルを開く→ファイル(F)→エクスポート(E)
図1 OffieLinks
第2法;マクロで作成
マクロから;アクション;ワークシトの変換で任意のフォルダ・ファイル名で自動作成。直後アクション;アプリケーションの実行で変換後のExcelを起動

図2 マクロで自動変換

 4.2.2 ExcelからAccessへ  
    第1法;デザインモードなどから手動で作成 3つの方法を提示します。2.インポートを図示
    第2法;マクロで作成  
第1法
1. ドラグ&ドロップ
 操作;Excel;範囲指定したデータをコピー→Access;「テーブル」→[新規作成]→データシート ビューに貼り付。
2. インポート  右図2
 操作;Access;ファイル(F)→外部デーアの取り込み(D)→インポート(I) (移転先ファイル名を指定)
3. Excelデータを共有  
 二つのテーブルをリンクする。一方のデータを変更すると他方のデータが直ちに更新される。

 操作:「テーブル」タブ→[新規作成]→[テーブルのリンク]  

図2 インポート
第2法;マクロで作成
AccessからExcelへと同じ手法、図2で「変換の種類がインポート」を指定

5.Accessの統合機能
Accessのメニューを活用した「統合機能」につて触れます。
通常、特定のアプリケーションはディスクトップに設定したショートカットキーから起動します。しかし、この方法ではアプリケーションごとにショートカットを作成しなければなりません。
これをワンタッチで対処するためにAccessのメニュー画面に必要なだけの起動用のコマンドボタンを設定します。こうすれば起動の都度画面をいちいち切り替えることなく総合メニューから目的のアプリケーションが立ち上げられます。
拡張性の例1;住所録MDB用の[住所録]起動ボタンを設定した初期のメニューに、家計簿MDB用の[家計簿]起動ボタンを追加します。
さらに例えば年賀状MDBを作成すれ[年賀状]起動ボタンを追加します。このように拡張したMDBを1つのメニューで統合し、これをマクロでコントロールします。
住所録作成と年賀状は宛先の名簿は共通で使用できます。この場合、年賀状の名簿は住所録の名簿にリンクテーブルを設定し名簿を共有ます。
拡張性の例2;拡張性はMDBとは限りません。常時使用するファイル名のついたExcel(例;ゴルフコンペの記録)やWord(例;日記帳)の起動ボタンも追加貼り付けることができます。もちろん、Excel、Word、Access、Mailなどの起動ボタンの設定もできます。

拡張したアプリケーションなどをワンメニューに収めたサンプルは下図3をクリックすると拡大されます。
図3 MyHomeHobbyの統合メニュー