Access 2007形式のデータベースを操作したいが、自分のパソコンにAccessがインストールされていない、どうすればよいか、というご質問をいただきました。
このような場合には、マイクロソフト社から提供されているソフトウェアをインストールすると、Access 2007形式のデータベースを参照したり、データを入力したりすることができるようになります。しかもライセンスは不要なので、誰でも使用できます。
また、Access2007より古いバージョンのAccessがインストールされているという場合にも有効です。
【手順】
マイクロソフトのWebサイトからソフトウェア(Access 2007 Runtime)をダウンロードしてインストールします。
1.下記のサイトになります。
Access 2007 Runtime ← こちらをクリック
2.[ダウンロード]をクリックします。
3.[ファイルを保存]をクリックします。
4.ダウンロードされたアイコンをダブルクリックしてインストールします。
セキュリティの警告画面が表示される場合は[開く]ボタンをクリックします。
※[Access 2007 Runtime]は動作するOSが限定されています。
詳細は、ダウンロードする際に、マイクロソフト社のWebサイトを参照してください。
※使用するデータベースは、AutoExecなどを利用して、データベース起動時に自動的に表示されるフォームなどをあらかじめ設定してくださいね。設定を忘れると、アプリケーションウィンドウは起動しますが、テーブルやフォームなどのオブジェクトは表示されません。
Accessのファイルを開くと同フォルダ内に「.ldb」という拡張子の「Microsoft Access レコードロック情報ファイル」というファイル種類のファイルができます。
このファイルはトランザクション情報などを持っているファイルで、Accessのファイルを閉じるとこのファイルも消えます。
ldbはmdbファイルを同時にアクセスする上で「データのこの部分は今編集中(他の人はいじっちゃだめよ)」というような類の情報を管理してます。
つまり、現在mdbファイルをどの人がどのパソコンで使用しているか、という情報を格納しています。
ldbファイルができた時に、メモ帳でこのファイルを開いてみると確認できます。
このファイルはトランザクション情報などを持っているファイルで、Accessのファイルを閉じるとこのファイルも消えます。
ldbはmdbファイルを同時にアクセスする上で「データのこの部分は今編集中(他の人はいじっちゃだめよ)」というような類の情報を管理してます。
つまり、現在mdbファイルをどの人がどのパソコンで使用しているか、という情報を格納しています。
ldbファイルができた時に、メモ帳でこのファイルを開いてみると確認できます。
Accessで使用するショートカットキー一覧です。
・新しいデータベースを開く-「Ctrl」+「N」
・既存のデータベースを開く-「Ctrl」+「O」
・アクティブウィンドウを閉じる-「Ctrl」+「F4」
・名前を付けて保存-「F12」
・上書き保存-「Ctrl」+「S」
・オブジェクトの編集・オブジェクト名の変更-「F2」
・新しいレコードを追加-「Ctrl」+「+」
・次のフィールドへ移動-「Tab」
・前のフィールドへ移動-「Shift」+「Tab」
・フィールドの先頭へ移動-「Ctrl」+「Home」
・フィールドの末尾へ移動-「Ctrl」+「End」
・プロパティシートの表示/非表示-「Alt」+「Enter」または「F4」
・プロパティシートのタブの切り替え-「Ctrl」+「Tab」または「Ctrl」+「Shift」+「Tab」
・ウィンドウを更新-「F5」
・ナビゲーションウィンドウの表示/非表示-「F11」
・ナビゲーションウィンドウのオブジェクトをデザインビューで開く-「Ctrl」+「Enter」
・データベースウィンドウの切り替え-「Ctrl」+「F6」
・コントロールの高さの変更-「Shift」+「↓」または「Shift」+「↑」
・コントロールの幅の変更-「Shift」+「→」または「Shift」+「←」
・すべてのレコードを選択-「Ctrl」+「A」
・サブデータシートを展開-「Ctrl」+「Shift」+「↓」
・サブデータシートを折りたたむ-「Ctrl」+「Shift」+「↑」
・ヘルプ-「F1」
・コピー-「Ctrl」+「C」
・切り取り-「Ctrl」+「X」
・貼り付け-「Ctrl」+「V」
・入力を元に戻す-「Ctrl」+「Z」
・入力のキャンセル-「Esc」
・検索-「Ctrl」+「F」
・置換-「Ctrl」+「H」
・印刷-「Ctrl」+「P」
・ショートカットメニューを表示する-「Ctrl」+「F10」
・Accessを終了する-「Alt」+「F4」
・新しいデータベースを開く-「Ctrl」+「N」
・既存のデータベースを開く-「Ctrl」+「O」
・アクティブウィンドウを閉じる-「Ctrl」+「F4」
・名前を付けて保存-「F12」
・上書き保存-「Ctrl」+「S」
・オブジェクトの編集・オブジェクト名の変更-「F2」
・新しいレコードを追加-「Ctrl」+「+」
・次のフィールドへ移動-「Tab」
・前のフィールドへ移動-「Shift」+「Tab」
・フィールドの先頭へ移動-「Ctrl」+「Home」
・フィールドの末尾へ移動-「Ctrl」+「End」
・プロパティシートの表示/非表示-「Alt」+「Enter」または「F4」
・プロパティシートのタブの切り替え-「Ctrl」+「Tab」または「Ctrl」+「Shift」+「Tab」
・ウィンドウを更新-「F5」
・ナビゲーションウィンドウの表示/非表示-「F11」
・ナビゲーションウィンドウのオブジェクトをデザインビューで開く-「Ctrl」+「Enter」
・データベースウィンドウの切り替え-「Ctrl」+「F6」
・コントロールの高さの変更-「Shift」+「↓」または「Shift」+「↑」
・コントロールの幅の変更-「Shift」+「→」または「Shift」+「←」
・すべてのレコードを選択-「Ctrl」+「A」
・サブデータシートを展開-「Ctrl」+「Shift」+「↓」
・サブデータシートを折りたたむ-「Ctrl」+「Shift」+「↑」
・ヘルプ-「F1」
・コピー-「Ctrl」+「C」
・切り取り-「Ctrl」+「X」
・貼り付け-「Ctrl」+「V」
・入力を元に戻す-「Ctrl」+「Z」
・入力のキャンセル-「Esc」
・検索-「Ctrl」+「F」
・置換-「Ctrl」+「H」
・印刷-「Ctrl」+「P」
・ショートカットメニューを表示する-「Ctrl」+「F10」
・Accessを終了する-「Alt」+「F4」
データベースの状態は時々解析して、パフォーマンスを最適化しておく必要があります。
「パフォーマンスの最適化」を実行すると、データベースの最適な構成と、必要な調整方法が提示されます。
テーブル内にデータの重複するフィールドがいくつかある場合は、「テーブルの正規化」を実行すると、元のテーブルは残したままテーブルを分割し、「正規化」する方法が示されます。
●パフォーマンスを最適化する
1.解析するデータベースを開きます。
2.「ツール」メニューの「解析」ー「パフォーマンスの最適化」をクリックします。
3.「すべてのオブジェクト」タブをクリックします。
4.パフォーマンスを解析するオブジェトのチェックボックスをオンにします。
5.「Ok」をクリックします。
6.選択したオブジェクトについて改善提案がある場合は、解析結果が表示されます。各項目の解析内容を検証します。
7.最適化を実行する解析結果をクリックします。複数選択(Ctrlキー)もできます。
8.「最適化」をクリックします。
9.「閉じる」をクリックします。
パフォーマンスの最適化の結果について
「推奨事項」「提案事項」「アイデア」があります。
・「推奨事項」→最適化を実行すべきです。
・「提案事項」→何らかのトレードオフのある可能性があり、最適化を実行する前に「メモ」ボックスで結果について見当する必要があります。
・「アイデア」→「メモ」ボックスの指示に従って、自分で処理する必要があります。
●テーブル設計を解析する
1.解析するデータベースを開きます。
2.「ツール」メニューの「解析」ー「テーブルの正規化」をクリックします。
3.テーブル正規化ウィザードが表示されるので、「次へ」をクリックします。
4.解析するテーブルを選択し「次へ」をクリックします。
5.「ウィザードを使う」をクリックし、「次へ」をクリックします。
(※テーブルの分割が推奨されない旨のメッセージが表示された場合は「キャンセル」をクリックして正規化を中止することもできます。)
6.テーブル名が表示されているバーをダブルクリックし、新しいテーブル名を入力し、「次へ」をクリックします。
7.主キーフィールドを確認し、必要に応じて変更します。「次へ」をクリックします。
8.必要に応じてレコードの修正を行い、「次へ」をクリックします。
9.元のテーブルと同じデータを表示するクエリを作成するかどうか選択し、「完了」をクリックします。
テーブル内のフィールドの不要な重複をなくすためにテーブルを分割することを、「テーブルの正規化」といいます。
「パフォーマンスの最適化」を実行すると、データベースの最適な構成と、必要な調整方法が提示されます。
テーブル内にデータの重複するフィールドがいくつかある場合は、「テーブルの正規化」を実行すると、元のテーブルは残したままテーブルを分割し、「正規化」する方法が示されます。
●パフォーマンスを最適化する
1.解析するデータベースを開きます。
2.「ツール」メニューの「解析」ー「パフォーマンスの最適化」をクリックします。
3.「すべてのオブジェクト」タブをクリックします。
4.パフォーマンスを解析するオブジェトのチェックボックスをオンにします。
5.「Ok」をクリックします。
6.選択したオブジェクトについて改善提案がある場合は、解析結果が表示されます。各項目の解析内容を検証します。
7.最適化を実行する解析結果をクリックします。複数選択(Ctrlキー)もできます。
8.「最適化」をクリックします。
9.「閉じる」をクリックします。
パフォーマンスの最適化の結果について
「推奨事項」「提案事項」「アイデア」があります。
・「推奨事項」→最適化を実行すべきです。
・「提案事項」→何らかのトレードオフのある可能性があり、最適化を実行する前に「メモ」ボックスで結果について見当する必要があります。
・「アイデア」→「メモ」ボックスの指示に従って、自分で処理する必要があります。
●テーブル設計を解析する
1.解析するデータベースを開きます。
2.「ツール」メニューの「解析」ー「テーブルの正規化」をクリックします。
3.テーブル正規化ウィザードが表示されるので、「次へ」をクリックします。
4.解析するテーブルを選択し「次へ」をクリックします。
5.「ウィザードを使う」をクリックし、「次へ」をクリックします。
(※テーブルの分割が推奨されない旨のメッセージが表示された場合は「キャンセル」をクリックして正規化を中止することもできます。)
6.テーブル名が表示されているバーをダブルクリックし、新しいテーブル名を入力し、「次へ」をクリックします。
7.主キーフィールドを確認し、必要に応じて変更します。「次へ」をクリックします。
8.必要に応じてレコードの修正を行い、「次へ」をクリックします。
9.元のテーブルと同じデータを表示するクエリを作成するかどうか選択し、「完了」をクリックします。
テーブル内のフィールドの不要な重複をなくすためにテーブルを分割することを、「テーブルの正規化」といいます。
Accessではデータベースを分割してサイズを小さくすることができます。
データベースを分割すると、テーブルが「バックエンドデータベース」と呼ばれるファイルに置かれます。
フォームやレポートなど他のオブジェクトは、現在のデータベースファイルに残ります。この方法ですべてのデータを一箇所に置き、各ユーザーが自分のフォームやレポートを自分のデータベースファイルで作る事ができます。
●データベースを分割する
1.開いているメニューフォームがあれば閉じます。
(データベースを使っているユーザーがいないことを確認します)
2.管理者権限でデータベースを開きます。
3.「ツール」メニューの「データベースユーティリティ」をポイントし、「データベース分割ツール」をクリックします。
4.「データベースの分割」をクリックします。
5.データベーステーブルを保存するバックエンドデータベースの名前と場所を指定します。
6.「分割」をクリックします。
7.メッセージの内容を確認し、「OK」をクリックします。
途中でエラーが起きるとデータは失われます。
バックアップがあればデータを復元することができますので、データベースの最適化や分割を行う前に、念のためバックアップをとっておきましょう。
データベースを分割すると、テーブルが「バックエンドデータベース」と呼ばれるファイルに置かれます。
フォームやレポートなど他のオブジェクトは、現在のデータベースファイルに残ります。この方法ですべてのデータを一箇所に置き、各ユーザーが自分のフォームやレポートを自分のデータベースファイルで作る事ができます。
●データベースを分割する
1.開いているメニューフォームがあれば閉じます。
(データベースを使っているユーザーがいないことを確認します)
2.管理者権限でデータベースを開きます。
3.「ツール」メニューの「データベースユーティリティ」をポイントし、「データベース分割ツール」をクリックします。
4.「データベースの分割」をクリックします。
5.データベーステーブルを保存するバックエンドデータベースの名前と場所を指定します。
6.「分割」をクリックします。
7.メッセージの内容を確認し、「OK」をクリックします。
途中でエラーが起きるとデータは失われます。
バックアップがあればデータを復元することができますので、データベースの最適化や分割を行う前に、念のためバックアップをとっておきましょう。
大きなデータベースになると、テーブル、フォーム、権限、ユーザーアカウントなどが多数存在します。
データベース管理情報を印刷したり、ファイルとして出力できます。
●データベース情報を文書化する
1.データベースウィンドウで、「ツール」メニューの「解析」ー「データベース構造の解析」をクリックします。
2.「すべてのオブジェクト」タブをクリックします。
3.文書化するオブジェクトのチェックボックスを「オン」にします。
4.「オプション」をクリックします。
5.オブジェクトの印刷内容を選択し、「OK」をクリックします。
6.「データベース構造の解析」ダイアログボックスの「OK」をクリックします。
7.プレビュー画面で印刷ページ数や内容を確認し、「印刷プレビュー」ツールバーの「印刷」ボタンをクリックします。
データベース管理情報をファイルに保存するには
上記手順の1~6で作成した管理情報をファイルに出力するには
「ファイル」メニューの「エクスポート」をクリックします。
Word文書やExcelブックなどとして出力することができます。
データベース管理情報を印刷したり、ファイルとして出力できます。
●データベース情報を文書化する
1.データベースウィンドウで、「ツール」メニューの「解析」ー「データベース構造の解析」をクリックします。
2.「すべてのオブジェクト」タブをクリックします。
3.文書化するオブジェクトのチェックボックスを「オン」にします。
4.「オプション」をクリックします。
5.オブジェクトの印刷内容を選択し、「OK」をクリックします。
6.「データベース構造の解析」ダイアログボックスの「OK」をクリックします。
7.プレビュー画面で印刷ページ数や内容を確認し、「印刷プレビュー」ツールバーの「印刷」ボタンをクリックします。
データベース管理情報をファイルに保存するには
上記手順の1~6で作成した管理情報をファイルに出力するには
「ファイル」メニューの「エクスポート」をクリックします。
Word文書やExcelブックなどとして出力することができます。
非常に広範囲にユーザーが分散している状況では、全員が同じデータベースファイルを使うことが無理な場合があります。このような場合、データベースの複製(レプリカ)を作ると便利です。
レプリカを作ると元のデータベースは「デザインマスター」となります。
レプリカにはレコードを追加することはできますが、構造の変更はできません。定期的にデザインマスターとレプリカの内容の「同期」をとることにによって、各ファイルは最新のデータを保てます。データベースに入力された値に矛盾が発生した場合は、正しい値を選択できます。
次のような手順を実行します。
1.レプリカを作成する。
2.レプリカを更新する。(同期をとる)
3.レプリカの競合を解決する。
それぞれの操作方法は以下の通りです。
●レプリカを作る
1.データベースパスワードが設定されている場合は、パスワードを削除しておきます。
2.データベースを排他モードで開きます。
3.「ツール」メニューの「レプリケーション」ー「レプリカの作成」をクリックします。
4.初めてレプリカを作る場合は、デザインマスターへの変換を確認するメッセージが表示されますので、「はい」をクリックします。(ここで、機能のインストールが必要になる場合もあります)
5.「新しいレプリカの保存」ダイアログボックスで、レプリカを保存する場所と名前を指定します。
6.「OK」をクリックします。
7.レプリカを作成したことを伝えるメッセージの内容を確認し、「OK」をクリックします。
「デザインマスター」は、システムテーブル、システムフィールド、レプリケーションプロパティが追加されたデータベースです。
レプリカセットには、デザインマスターが1つだけ存在します。
●レプリカを更新する
1.更新するレプリカを開きます。
2.「ツール」メニューの「レプリケーション」-「同期」をクリックします。
3.「レプリカと直接同期をとる」をクリックします。
4.デザインマスターの名前と場所を指定します。
5.データベースを閉じる旨を確認するメッセージが表示されたら「はい」をクリックします。
6.メッセージの内容を確認し、「OK」をクリックします。(レプリカが開かれます。)
同期とは、2つのレプリカの間でレコードとオブジェクトの更新結果を交換します。
この交換は、片方向の場合と双方向の場合があります。
レプリカがインターネット上にあるときは、同期の際にさらにダイアログボックスが表示され、ネットワーク、イントラネット(またはインターネット)のうち、同期するものを選択できます。
●レプリカの競合を解決する
1.レプリカの同期をとります。
2.競合の解決を確認するメッセージが表示されたら、「はい」をクリックします。
3.「表示」をクリックして、競合を解決するためのダイアログボックスを表示します。
4.解決方法を指定し、「閉じる」をクリックします。
5.「Microsoftレプリケーション競合表示モジュール」ダイアログボックスの「閉じる」をクリックします。
複数のレプリカを使うと、処理が分散されるのでデータベースに対する負荷が減ります。そのため「デザインマスター」をバックアップとしてネットワーク上の共有データベースの代わりにレプリカで作業をするという方法もあります。
レプリカを作ると元のデータベースは「デザインマスター」となります。
レプリカにはレコードを追加することはできますが、構造の変更はできません。定期的にデザインマスターとレプリカの内容の「同期」をとることにによって、各ファイルは最新のデータを保てます。データベースに入力された値に矛盾が発生した場合は、正しい値を選択できます。
次のような手順を実行します。
1.レプリカを作成する。
2.レプリカを更新する。(同期をとる)
3.レプリカの競合を解決する。
それぞれの操作方法は以下の通りです。
●レプリカを作る
1.データベースパスワードが設定されている場合は、パスワードを削除しておきます。
2.データベースを排他モードで開きます。
3.「ツール」メニューの「レプリケーション」ー「レプリカの作成」をクリックします。
4.初めてレプリカを作る場合は、デザインマスターへの変換を確認するメッセージが表示されますので、「はい」をクリックします。(ここで、機能のインストールが必要になる場合もあります)
5.「新しいレプリカの保存」ダイアログボックスで、レプリカを保存する場所と名前を指定します。
6.「OK」をクリックします。
7.レプリカを作成したことを伝えるメッセージの内容を確認し、「OK」をクリックします。
「デザインマスター」は、システムテーブル、システムフィールド、レプリケーションプロパティが追加されたデータベースです。
レプリカセットには、デザインマスターが1つだけ存在します。
●レプリカを更新する
1.更新するレプリカを開きます。
2.「ツール」メニューの「レプリケーション」-「同期」をクリックします。
3.「レプリカと直接同期をとる」をクリックします。
4.デザインマスターの名前と場所を指定します。
5.データベースを閉じる旨を確認するメッセージが表示されたら「はい」をクリックします。
6.メッセージの内容を確認し、「OK」をクリックします。(レプリカが開かれます。)
同期とは、2つのレプリカの間でレコードとオブジェクトの更新結果を交換します。
この交換は、片方向の場合と双方向の場合があります。
レプリカがインターネット上にあるときは、同期の際にさらにダイアログボックスが表示され、ネットワーク、イントラネット(またはインターネット)のうち、同期するものを選択できます。
●レプリカの競合を解決する
1.レプリカの同期をとります。
2.競合の解決を確認するメッセージが表示されたら、「はい」をクリックします。
3.「表示」をクリックして、競合を解決するためのダイアログボックスを表示します。
4.解決方法を指定し、「閉じる」をクリックします。
5.「Microsoftレプリケーション競合表示モジュール」ダイアログボックスの「閉じる」をクリックします。
複数のレプリカを使うと、処理が分散されるのでデータベースに対する負荷が減ります。そのため「デザインマスター」をバックアップとしてネットワーク上の共有データベースの代わりにレプリカで作業をするという方法もあります。
複数ユーザーの環境では、別々のユーザーが同時に同じレコードを編集しようとすることが起こります。
このような競合を避けるために「レコードロック」機能があります。
また、データベースを「排他モード」で開くと、ほかのユーザーはそのデータベースを開くことができなくなります。
データベース自体の変更を伴う作業を行う管理者にとっては、この仕組みは不可欠です。データベースを開くときに、レコードロックや排他モードを既定にすることができます。
●排他モードとレコードロックを既定にする
【手順】
1.既定の状態を変更するデータベースを開きます。
2.「ツール」メニューの「オプション」をクリックします。
3.「詳細」タブをクリックします。
4.[既定の開くモード]で、データベースを開くときのモードを選択します。
[共有モード]→複数ユーザーが同時にアクセス可能
[排他モード]→同時に一人のユーザーしかアクセスできない
5.[既定のレコードロック]でロックするレコードを選択します。
6.[レコードロックレベルでロックして開く]チェックボックスをオンにします。
7.「OK」をクリックします。
レコードロックの方法
・[ロックしない]
編集中のレコードをロックしない。
競合した場合は、
・他のユーザーの変更を上書きするか
・変更した内容をクリップボードにコピーするか、
・変更を破棄するか
を、選択できます。
・[すべてのレコード]
テーブルを開いている間、そのすべてのレコードをロックし、
他のユーザーがレコードロックや編集をできないようにします。
・[編集済みレコード]
現在編集中のレコードをロックし、他のユーザーが編集しようとすると、レコードロックのインジケータが表示されます。
このような競合を避けるために「レコードロック」機能があります。
また、データベースを「排他モード」で開くと、ほかのユーザーはそのデータベースを開くことができなくなります。
データベース自体の変更を伴う作業を行う管理者にとっては、この仕組みは不可欠です。データベースを開くときに、レコードロックや排他モードを既定にすることができます。
●排他モードとレコードロックを既定にする
【手順】
1.既定の状態を変更するデータベースを開きます。
2.「ツール」メニューの「オプション」をクリックします。
3.「詳細」タブをクリックします。
4.[既定の開くモード]で、データベースを開くときのモードを選択します。
[共有モード]→複数ユーザーが同時にアクセス可能
[排他モード]→同時に一人のユーザーしかアクセスできない
5.[既定のレコードロック]でロックするレコードを選択します。
6.[レコードロックレベルでロックして開く]チェックボックスをオンにします。
7.「OK」をクリックします。
レコードロックの方法
・[ロックしない]
編集中のレコードをロックしない。
競合した場合は、
・他のユーザーの変更を上書きするか
・変更した内容をクリップボードにコピーするか、
・変更を破棄するか
を、選択できます。
・[すべてのレコード]
テーブルを開いている間、そのすべてのレコードをロックし、
他のユーザーがレコードロックや編集をできないようにします。
・[編集済みレコード]
現在編集中のレコードをロックし、他のユーザーが編集しようとすると、レコードロックのインジケータが表示されます。
列の見出しを追加するには
1.クエリをデザインビューで開きます。
2.「クエリプロパティ」ダイアログボックスを開きます。
3.「クエリ列見出し」ボックスに、表示する列見出しをカンマで区切って入力します。
1.クエリをデザインビューで開きます。
2.「クエリプロパティ」ダイアログボックスを開きます。
3.「クエリ列見出し」ボックスに、表示する列見出しをカンマで区切って入力します。