●全ページ一覧の表示(ページ下へ移動)>>

▲PAGE TOP

ストアドプロシージャーとパススルークエリ


NO 内容 分類 発行日
vol215 ストアドプロシージャーとパススルークエリ SQL Server 2014年9月 3日

Access2013から、Access ADPの機能が無くなりました。

Access ADPは、Accessから、SQL Serverに直接、接続することができます。

Accessのテーブルとクエリは、SQL Serverのテーブルと、ビュー、ストアドプロシージャーを使用することが出来ます。

ビューというのは、Accessの「選択クエリ」になります。

ストアドプロシージャーは、Accessのパラメータクエリや更新クエリになります。

ですので、いろいろなデータ処理が、SQL Serverになりますので、Accessでの、表示などは、かなり早くなります。

でも、その機能はなくなります。

SQL Serverも将来的には対応しないようです。

かなりのシステムが、Access ADPで開発されていると思います。
Access ADPで開発していたシステムは、作りかえるしかないですね。

これから、Accessを使って、SQL Serverに接続するには、ODBCを使うしかないようです。

でも、ODBC接続では、クエリは、Accessのクエリを使用しますので、スピードは、かなり遅くなります。

読み出すデータが少なくても、Accessは、データをクライアント側に一度全部、読み込むようです。

困りますね。

方法としては、Accessのクエリの中に、パススルークエリというものがあります。

ここに、SQL ServerのビューのSQL文を入れると、SQL Server側で処理して、Access側に戻してくれます。

フォームに連結していると、フォームで表示することが出来ます。

これは、かなりよいやり方です。

でも、表示はできますが、他のクエリのように連結した状態でデータの更新はできません。

でも、最近、わかったのですが、パススールクエリの中でInsert文も動きました。

パススルークエリの中に、ストアドプロシージャー名を入れて動かすと、これも動きました。

ストアドプロシージャーの構文も動くと思います。

SQL Serverの中で、処理できる事は、ストアドプロシージャーを作成して、VBAで動かすことができます。

外から、パラメーターを入れたいときは、VBAでパラメータの入ったストアドプロシージャーを作れば動くかも知れません。
面倒くさいですが、やってみる価値はありますね。

パススルークエリで、データ更新ができるのと、ストアドプロシージャーが、動くのがわかっただけでも、かなり違うと思います。

また、何かよい方法があれば連絡したいと思います。


参考にしてください。



おすすめ教材


[↑一番上へ]
[マイクロソフトアクセス(Access)活用法(メールマガジン)(ホームへ)]
12:530502

<<全ページのメニューリストです>>

アクセス(Access)の概要

アクセス(Access)全体

テーブル

クエリ

フォーム

レポート

マクロ

VBA

SQL Server

システム開発

SQL Azure

その他