「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- Access2013からは、Access データ プロジェクト (以下、ADPと略す)の機能がなくなった。
- ADPは、SQL Serverに直接接続して使用する機能。
- SQL Server側のOLE DB廃止決定に伴い、一足先にADPが廃止された。
- ここでは、この、マイグレーション・パスを調査する。
前提 †
前提として以下の情報が必要になる。
ADPへの移行 †
「アップサイジング・ウィザード」によって、
Accessのスタンドアロン(*.accdb形式)からADP(*.adpファイル)へ移行されている。
*.accdeファイルと*.accdbファイル †
分割ツールを利用すると*.accdbファイルを*.accdeファイルに変換できる。
*.accdb †
- Access2007以降のAccessのデスクトップ データベース・ファイルに付く拡張子
- 内部で使うときは「.accdb」のまま配布するなど。
*.accde †
- .accdeファイルとしてデータベースを保存すると、
- 内部で以下のような処理が行われ、
- すべてのVBAコードモジュールがコンパイルされ、
- 編集可能なすべてのソースコードが削除され、
- コピー先のデータベースが圧縮される。
- 下記のような差異が生まれる。
- VBAコードの機能を保持するが、コードを表示または編集できなくなる。
- デスクトップ データベースは引き続き通常どおり機能する。
参考 †
詳細 †
以下のマイグレーション・パスが考えられる。
Microsoft †
- *.accdb ファイル形式のデスクトップ データベースの作成が引き続きサポートされる。
Access アプリへの変換 †
- SQL ServerテーブルをAccessにインポートすると、アプリケーション用のフォームが自動的に作成される。
- フォームの機能を拡張し、ユーザーが Web 上でそのアプリケーションを使用できるようにすることができる。
- ADP で使用している一部の機能は利用できなくなる。
リンクテーブルにて移行 †
ADP(*.adpファイル)からAccessのスタンドアロン(*.accdb形式)への変換が可能なら、再び、
「アップサイジング・ウィザード」の「SQL Serverのテーブルを既存のアプリケーションにリンクさせる」オプションで、
リンクテーブルにてアップサイジングすればイケる気がするが手順の詳細が不明。
.NET Framework へのアップグレード †
.NET Framework で再構築(ADPのSQL Serverテーブルを使用)。
参考 †
3rd party †
dbSheetClient? †
処理方式がよく解らないが、DB Access部分をWebAPI?に変更しているもよう。
ソリューション †
前述の「リンクされたデスクトップ データベースへの変換」を行うソリューション。
参考 †
Microsoft †
support.office.com †
msdn.microsoft.com †
- Office の開発 > Office クライアント > Access
> Access デスクトップ データベース リファレンス > 概念 > 変換
- Microsoft Office Developer > Microsoft Office 2000 Developer
> 製品ドキュメント > Microsoft Office 2000/Visual Basic プログラマーズ ガイド
> 第 3 部 Office ソリューションのデータ処理 > 第 14 章 Office ソリューションのデータ アクセス コンポーネントを使用する
プラプラ式技術系 Access流! †
マイクロソフトアクセス活用法 †
教材 †
メルマガ †
ツール †
アップサイジング・ウィザード †
Accessのスタンドアロン(*.accdb形式)からADP(*.adpファイル)への移行を行うツール。
- 前提
Accessのスタンドアロンのデータベースファイル(*.accdb形式)が作られている前提
- 変換
対話式でいろいろな設定していくことでADPへの移行が可能。
- 必要なオブジェクトをAccessからSQL Server側に転送
- オブジェクトをSQL Server側に転送した後の変換処理
- 変更なし
テーブルをSQL Server上に移行するが、Access自体には変更を加えない。
結果的にSQL Server上にテーブルやその属性が生成されるだけになる。
- SQL Serverのテーブルを既存のアプリケーションにリンクさせる
テーブルをSQL Server上に移行したあと、ODBC経由のリンクテーブルとしてAccess上に設定する。
これにより、従来のローカルテーブルに代わって、SQL Server上のテーブルのデータを扱えるようになる。
- 新しいAccessクライアント/サーバーアプリケーションを作成する
ADP化して、直接的にSQL Serverデータベースを扱えるようにする。
Tags: :移行