投稿日時:

Accessは「データベース」ソフトです。データの管理や分析を行うツールとして利用されています。Excelと比べ、複雑なデータや大量のデータを扱ったり、定型的な入力や出力が得意です。
Access 2007/2010ではさらに直感的で操作のわかりやすい画面になり、使いやすさが増しました。

■ 新機能・強化

◆ [作業の開始] ウィンドウ
起動すると最初に表示される画面が [作業の開始] ウィンドウです。
「空のデータベース」を選択して最初から自分で作成する他に「テンプレート」(ひな型)から選択して作成することもできます。

◆ ナビゲーションウィンドウ
2003までの「データベースウィンドウ」に相当します。
オブジェクトのリスト表示機能に特化し、新規作成機能は [作成] タブにまとめられました。
オブジェクトグループ別の表示だけではなく、[テーブルと関連ビュー](既定)やユーザー設定のグループ別の表示にすることもできます。
開いたオブジェクトのビューの切り替えは、[ホーム] タブの [表示] ボタンで行います。

◆ タブ付きドキュメント
オブジェクトは以前のバージョンでは個別のウィンドウとして開きましたが、「タブ付きドキュメント」として表示されタブの選択で表示切替えをします。

■ テーブル

◆ データシートビュー
2003までは「デザインビュー」でオブジェクト自体の作成や編集を行い「データシートビュー」はデータの表示・入力・編集を行っていました。2007からはデータシートビューでもフィールド名の変更や新規フィールドの追加が可能になりました。
また、各フィールドにフィルタが付きExcelのオートフィルタと同様の操作で条件を設定しての抽出や、やはりExcelのテーブルと同じくデータの集計も可能です。

◆ テーブルテンプレート
[作成] タブ → [テーブルテンプレート]
従来の「テーブルウィザード」に代わるものが「テーブルテンプレート」です。「連絡先」「タスク」「案件」「イベント」「資産」の中から選択するだけで、テーブルが作成されます。

◆ フィールドテンプレート
[データシート] タブ → [新しいフィールド]
テーブルテンプレートと異なり、任意のフィールドを選んで追加できます。プロパティも定義済みです。

◆ 添付ファイル型
データ型に新しく「添付ファイル型」が追加されました。従来の「OLEオブジェクト型」の上位バージョンです。
自動的に圧縮され、複数ファイルも添付できるため格納効率が良くなりました。

■ フォーム・レポート

◆ レイアウトビュー
フォームとレポートの新しい表示形式です。
フォームビューまたは「印刷プレビュー」と「デザインビュー」の中間的な役割で、実際のデータを表示しながらコントロールの編集がある程度可能なビューです。

◆ レポートビュー
レポートのビューは4種類に増えました。従来の「印刷プレビュー」と「デザインビュー」に加えて、「レイアウトビュー」と「レポートビュー」があります。
印刷プレビューではイメージを確認するのみで文字の選択や検索はできませんが、レポートビューでは印刷レイアウト画面表示の中で選択や検索、ハイパーリンク操作が行えます。

◆ コントロールのグループ化
(グループ化)[配置] タブ → [集合形式] または [表形式]
(グループ化の解除)[配置] タブ → [解除]
複数のコントロールをグループ化することで、一括での移動やサイズ変更が可能になります。
新しいコントロールを挿入しても自動的に間隔を調整します。
オートフォームで作成した場合は、自動的にコントロールがグループ化されます。

■ マクロ
2010より、マクロ作成の画面が変更になりました(2007は2003以前と同じ)。
引数は画面下部ではなく、アクションの下にインラインで表示されます。

■ 既存データベース移行の際の注意点

◆ 移行と互換性について
Accessにおいて一番気になるのは、現在使っているデータベースが新しいバージョンで利用できるかどうかでしょう。Access2003以前のバージョンで作成したデータベース(拡張子mdb)は、2007/2010でもそのまま開くことができます。
逆に2007/2010で作成したデータベースはファイル形式が異なる(拡張子accdb)ため、以前のバージョンでは開くことができません。異なるバージョン同士でデータベースを共用する場合は、2007/2010で新規作成時に以前のバージョン形式で保存する必要があります。

◆ 使用できなくなった機能
2003までは「ページ」オブジェクトがありましたが、2007からは廃止されました。以前に作成した「データアクセスページ」は2007/2010では表示することはできますが、新規作成や編集はできません。
「ユーザーレベルセキュリティ」機能も2007からは廃止されました。そのセキュリティが既に設定してある以前のファイル形式のデータベースを2007/2010で開いた際には稼動はしますが、2007/2010で新たに設定することはできません。

(担当:瀧川 仁子

投稿日時:

Microsoft社は「Access」と「SQLServer」と2つのRDBMS(Relational Data Base Management System)を販売しています。
なぜ2つも出しているのだろうか?この2つの違いは何だろうか?

Accessは「ファイル共有型」と呼ばれるRDBMSです。

例えば共有フォルダにAccessファイルを配置し、それをみんなで使用するとする。
自PCから共有フォルダ上のAccessファイルを使用しようとすると、共有フォルダ上のAccessファイルを一旦、自PCにコピーすることになる。
もしもAccessファイル内に1億件のレコードがあれば、1億件のレコードをコピーした上で使用する事になる。

SQLServerは「サーバ型」と呼ばれるRDBMSです。

自PCからSQLServerに、例えば「顧客番号10番下さい」と命令すると、DBから顧客番号10番のレコードが返ってきます。
SQLServer内に1億件のレコードがあっても、ネットワークの中は命令と1件分のレコードしか流れない仕組みになっており、なるべく負担をかけないようになっています。
Oracle、PostgleSQL、MySQLといったRDBMSもサーバ型です。

ゆえに、Accessの場合、ファイルサイズが大きくなるほど、使用者の数が増えるほどネットワークに負担をかける事になり、処理速度が低下してしまう。
ゆえに、SQLServerは大規模向け、Accessは小規模向けなるイメージが定着しているのです。

では小規模ってどれぐらいの規模なのだろうか?
私の経験則で、PCやネットワークの性能によっても左右されますが、Accessファイルのサイズが10MB以上か、使用者の数が5台以上になる場合はサーバ型を使用する事をお薦めします。

RDBMSはAccessだけではありませんし、必ずしも「Accessなら簡単」ではありません。
自分達のPC環境を吟味した上で、適切なRDBMSを使用して頂けたらと思います。

(担当:奥田 英太郎

投稿日時:

非常に多い回答です。
「Excel VBA」を受講される方々に「何ができるようになりたいですか?」と問うと「シート内のデータ管理を行いたい」と返って来ます。

この手の回答者の業務背景は、恐らくこんな感じです。

1、Excelを使ってデータを管理している。
2、しかしデータ量が多くなり、ファイル数やシート数が増えて管理が困難になってきた。
3、また、複雑な条件で検索、集計したりする必要が出てきたがExcelの機能で行うのは大変。
4、どうする?そうだVBAで操作してみたらどうだろうか?よしVBAを学習しよう!! ←今ここ

いやいや、その考えは待って頂きたい。
それならExcelによるデータ管理をやめて、データベース、例えばAccessやSQLServerに移行する事を薦めます。
Excelはデータベースではないのですから。

どうもデータベースの学習は難しく、VBAの学習の方が簡単だと思われているようです。
学習量からすれば、データベースよりもプログラミングの方が多いのですが、、、

そもそもVBAを学習し、VBAでExcelを操作できるようになっても、Excelに無い機能は使用できません。
例えば、Excelには複雑な条件による検索、集計機能はありません。よってVBAでもそれらを行うことはできず、データベースの機能を拝借するか、自作しなければなりません。

結局、データベースの学習が必須なのです。

世界中で稼動している業務システムはプログラミングとデータベースで作られています。
それが一番適している形だからです。
この形に逆らって業務システムを作っても、待っているのは「困難」です。

VBAのご受講を思案されている方へ。
改めてデータベースを学習しませんか?ご検討下さい。

(担当:奥田 英太郎

投稿日時:

Excelは表計算、Accessはデータベース。
データ管理に適しているのは言うまでもなくAccessです。

しかし、下記のような事例が多数報告されているのはなぜでしょう?
今までデータ管理をExcelでしており、それをAccessに切り替えたが、業務効率が一向に良くならない。と。

原因は簡単です。
それはデータベースが分っていないからです。

Wordが使えれば良い文章が書けるか?
PowerPointが使えれば良いプレゼンができるか?
Accessが使えれば良いデータベースが作れるのか?

Accessというアプリケーションが使えるのと、データベースができるは同じじゃないのです。
ゆえにAccessだけできたところでデータ管理は、業務効率は、一向に良くならないのです。

具体的には下記の2点を学習しましょう。

1点目は「テーブル設計」
Accessはリレーショナル型のデータベース。リレーショナル型はテーブルを分けて、必要に応じて結合するもの。
いかに上手にテーブルを分けてデータを管理するかがポイントです。
なんでもかんでもひとつのテーブルに詰め込んでたら、効率よく検索、集計できるわけがありません。

2点目は「SQLコマンド」
SQLはリレーショナルデータベースを操作するコマンドです。
AccessではSQLができなくてもデータが操作できるようにクエリが存在します。
しかし、SQLでできる事を100とすると、クエリでできることは50ぐらいしかありません。
50の機能だけでデータ管理しているわけですから、そんなんじゃ効率が良くなるわけありません。

ExcelからAccessに切り替えたのに、どうも上手くいかない。
であれば是非ともデータベースを勉強して下さい。

(担当:奥田 英太郎