「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>VBA移行]]

* 目次 [#t1f340a6]
#contents

*概要 [#l8816c2b]
-Access2013からは、Access ADPの機能がなくなった。
--Access ADPは、SQL Serverに直接接続して使用する機能。
--SQL Server側のOLE DB廃止決定に伴い、一足先にAccess ADPが廃止された。

-ここでは、この、マイグレーション・パスを調査する。

*前提 [#a998b668]
前提として以下の情報が必要になる。

**Access ADPへの移行 [#c5cf517b]
「[[アップサイジング・ウィザード>#c377fbaa]]」によって、~
Accessのスタンドアロン(*.accdb形式)からADP(*.adpファイル)へ移行されている。

** *.accdeファイルと*.accdbファイル [#z3d95d2d]
分割ツールを利用すると*.accdbファイルを*.accdeファイルに変換できる。

*** *.accdb [#l896b045]
-Access2007以降のAccessのデスクトップ データベース・ファイルに付く拡張子
-内部で使うときは「.accdb」のまま配布するなど。

*** *.accde [#ed772e97]
-.accdeファイルとしてデータベースを保存すると、

--内部で以下のような処理が行われ、
---すべてのVBAコードモジュールがコンパイルされ、
---編集可能なすべてのソースコードが削除され、
---コピー先のデータベースが圧縮される。

--下記のような差異が生まれる。
---VBAコードの機能を保持するが、コードを表示または編集できなくなる。 
---デスクトップ データベースは引き続き通常どおり機能する。

-外部に配るときは「.accde」に変換するなど。

***参考 [#j0aa40cb]
-[[VBA コードをユーザーに表示しない - Access>https://support.office.com/ja-jp/article/vba-%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%AA%E3%81%84-ce6ab610-af07-4008-91e0-1ef1b796ff18]]
-[[.accde ファイルの制限について - マイクロソフト コミュニティ>https://answers.microsoft.com/ja-jp/office/forum/office_365solo-access/accde/551c645e-bf11-40ba-a13a-cc2401cffe60]]

*詳細 [#q1fe0094]
以下のマイグレーション・パスが考えられる。

**Microsoft [#k767256f]
-*.accdb ファイル形式のデスクトップ データベースの作成が引き続きサポートされる。

***Access アプリへの変換 [#ede58c3d]
ADP で使用している一部の機能は利用できなくなる。
-SQL ServerテーブルをAccessにインポートすると、アプリケーション用のフォームが自動的に作成される。
-フォームの機能を拡張し、ユーザーが Web 上でそのアプリケーションを使用できるようにすることができる。
-ADP で使用している一部の機能は利用できなくなる。

***リンクされたデスクトップ データベースへの変換 [#sd710c3a]
-空のACCDBへ現行ADPのオブジェクトをすべてインポートし、
-ODBC接続対応をする(RDOはADOへの移行が必要になる)。
***・・・ [#g26a19f3]

***ハイブリッド アプリケーションの作成 [#jd3e407d]
-空のACCDBへ現行ADPのオブジェクトをすべてインポートし、
-Access の旧バージョンを使用して、既存のデータに対するリンク テーブルを作成する。

※ 「[[前述の方式>#sd710c3a]]」と比べると、段階的な移行が可能。

***.NET Framework へのアップグレード [#g7442c58]
.NET Framework で再構築。
.NET Framework で再構築(ADPのSQL Serverテーブルを使用)。

***参考 [#pdf69cbc]
-support.office.com
--[[Access 2013 で廃止、変更された機能 - Access>https://support.office.com/ja-jp/article/access-2013-%E3%81%A7%E5%BB%83%E6%AD%A2%E3%80%81%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%9F%E6%A9%9F%E8%83%BD-bc006fc3-5b48-499e-8c7d-9a2dfef68e2f]]
--[[ADOX を使用して Access で SQL パススルー クエリを作成する方法>https://support.microsoft.com/ja-jp/help/304323/how-to-use-adox-to-create-an-sql-pass-through-query-in-access]]

-msdn.microsoft.com

--Office の開発 > Office クライアント > Access~
> Access デスクトップ データベース リファレンス > 概念 > 変換
---Access における変更点~
https://msdn.microsoft.com/ja-jp/library/office/jj618413.aspx
---Access のテーブル、フォーム、およびレポートの変換~
https://msdn.microsoft.com/ja-jp/library/office/ff834413.aspx
---DAO コードを ADO に変換する~
https://msdn.microsoft.com/ja-jp/library/office/ff193201.aspx

--Microsoft Office Developer > Microsoft Office 2000 Developer~
> 製品ドキュメント > Microsoft Office 2000/Visual Basic プログラマーズ ガイド~
> 第 3 部 Office ソリューションのデータ処理 > 第 14 章 Office ソリューションのデータ アクセス コンポーネントを使用する~
---ADO または DAO を選択して Access データベースを使用する~
https://msdn.microsoft.com/ja-jp/library/cc376212.aspx
---リンクされたテーブルを作成する~
https://msdn.microsoft.com/ja-jp/library/cc376276.aspx

--テクニカルドキュメント > テクニカルドキュメント > コラム~
Microsoft Access のテーブルを使用した作業~
https://msdn.microsoft.com/ja-jp/library/dd313956.aspx

**3rd party [#v8b7005e]

***dbSheetClient [#y86af305]
処理方式がよく解らないが、DB Access部分をWebAPI?に変更しているもよう。

-dbSheetClientのトップページ~
https://www.newcom07.jp/dbsheetclient/

***ソリューション [#ddf7679c]
[[前述の「リンクされたデスクトップ データベースへの変換」>#sd710c3a]]を行うソリューション。

-MicrosoftAccessのバージョンアップなら専門会社システムキューブへ~
http://www.ms-access.jp/adp/?gclid=EAIaIQobChMIu9vRhuzP2gIVGQQqCh1towQaEAAYASAAEgI_CfD_BwE

*参考 [#qbca5009]
-Access ADP~マイクロソフトアクセス活用法(メルマガ)~
https://www.sk-access.com/mailmaga/vol255.html

-Access2010でのODBCDirectの代替案 | 愚者の経験~
https://foolexp.wordpress.com/2012/11/28/p2wpsu-5a/

**■T'sWare Access Study [#f68ac341]
-~Vol.18 Accessアップサイジング実例~~
http://tsware.jp/study/
**Microsoft [#z4495d0f]

>ADP(Accessプロジェクト)形式への変更
+本シリーズの概要~
http://tsware.jp/study/vol18/upsize_01.htm
+アップサイジングウィザードの実行~
http://tsware.jp/study/vol18/upsize_02.htm
+ビューとテーブル値関数の統合~
http://tsware.jp/study/vol18/upsize_03.htm
+アクションクエリのストアドプロシージャ化~
http://tsware.jp/study/vol18/upsize_04.htm
+VBAプログラムのDAOからADOへの変更~
http://tsware.jp/study/vol18/upsize_05.htm
+フォーム/レポートの動作テスト(1)~
http://tsware.jp/study/vol18/upsize_06.htm
+フォーム/レポートの動作テスト(2)~
http://tsware.jp/study/vol18/upsize_07.htm
+複数ユーザー利用を考慮したシステム変更~
http://tsware.jp/study/vol18/upsize_08.htm
***support.office.com [#cb70e592]
-[[ADOX を使用して Access で SQL パススルー クエリを作成する方法>https://support.microsoft.com/ja-jp/help/304323/how-to-use-adox-to-create-an-sql-pass-through-query-in-access]]

-変更点

--[[Access 2013 で廃止、変更された機能 - Access>https://support.office.com/ja-jp/article/access-2013-%E3%81%A7%E5%BB%83%E6%AD%A2%E3%80%81%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%9F%E6%A9%9F%E8%83%BD-bc006fc3-5b48-499e-8c7d-9a2dfef68e2f]]

--[[Access 2016 の新機能 - Access>https://support.office.com/ja-jp/article/Access-2016-%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD-76454345-f85d-47af-ace1-98a456cb3496?ui=ja-JP&rs=ja-JP&ad=JP]]

***msdn.microsoft.com [#l40f5bd0]
-Office の開発 > Office クライアント > Access~
> Access デスクトップ データベース リファレンス > 概念 > 変換
--Access における変更点~
https://msdn.microsoft.com/ja-jp/library/office/jj618413.aspx
--Access のテーブル、フォーム、およびレポートの変換~
https://msdn.microsoft.com/ja-jp/library/office/ff834413.aspx
--DAO コードを ADO に変換する~
https://msdn.microsoft.com/ja-jp/library/office/ff193201.aspx

-Microsoft Office Developer > Microsoft Office 2000 Developer~
> 製品ドキュメント > Microsoft Office 2000/Visual Basic プログラマーズ ガイド~
> 第 3 部 Office ソリューションのデータ処理 > 第 14 章 Office ソリューションのデータ アクセス コンポーネントを使用する~
--ADO または DAO を選択して Access データベースを使用する~
https://msdn.microsoft.com/ja-jp/library/cc376212.aspx
--リンクされたテーブルを作成する~
https://msdn.microsoft.com/ja-jp/library/cc376276.aspx

-テクニカルドキュメント > テクニカルドキュメント > コラム~
Microsoft Access のテーブルを使用した作業~
https://msdn.microsoft.com/ja-jp/library/dd313956.aspx

**プラプラ式技術系 Access流! [#gae18557]
-【Access】Access2013ではadp(AccessProject)が使えない。。。~
http://plus-sys.jugem.jp/?eid=251
-【Access】そろそろADPの代替を考えてみる。その1。~
http://plus-sys.jugem.jp/?eid=434

**ツール [#n2d778c2]

***アップサイジングウィザード [#c377fbaa]
***アップサイジング・ウィザード [#c377fbaa]
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データベースを扱えるようにする。

-参考
--[[アップサイジング ウィザードを使用して Access データを SQL Server データベースに移動する - Access>https://support.office.com/ja-jp/article/%E3%82%A2%E3%83%83%E3%83%97%E3%82%B5%E3%82%A4%E3%82%B8%E3%83%B3%E3%82%B0-%E3%82%A6%E3%82%A3%E3%82%B6%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6-access-%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92-sql-server-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AB%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B-5d74c0df-c8cd-4867-8d07-e6e759d72924]]

--■T'sWare Access Study~
~Vol.18 Accessアップサイジング実例~~
http://tsware.jp/study/
>ADP(Accessプロジェクト)形式への変更
+本シリーズの概要~
http://tsware.jp/study/vol18/upsize_01.htm
+アップサイジングウィザードの実行~
http://tsware.jp/study/vol18/upsize_02.htm
+ビューとテーブル値関数の統合~
http://tsware.jp/study/vol18/upsize_03.htm
+アクションクエリのストアドプロシージャ化~
http://tsware.jp/study/vol18/upsize_04.htm
+VBAプログラムのDAOからADOへの変更~
http://tsware.jp/study/vol18/upsize_05.htm
+フォーム/レポートの動作テスト(1)~
http://tsware.jp/study/vol18/upsize_06.htm
+フォーム/レポートの動作テスト(2)~
http://tsware.jp/study/vol18/upsize_07.htm
+複数ユーザー利用を考慮したシステム変更~
http://tsware.jp/study/vol18/upsize_08.htm

----
Tags: [[:移行]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS