Accessのクエリの内容は、SQLビューの内容をコピーすることでMSDE(SQL Server)のビューやストアドプロシージャに移行することができます。
その手順は?
ここではAccess付属のサンプルデータベース「Northwind.mdb」を使い、その手順を説明します。すでにこのデータベースのテーブルはすべてアップサイジングウィザード等でMSDE側に移行済みとして、Accessにはリンクテーブルとして接続されているものとします。
- ここでは次のようなクエリがAccessにあるとします。
- まず、[表示]メニューやツールバーより、クエリを「SQL ビュー」に切り替えます。
- SQLビューになったら、そこに表示されているSQL文すべてのテキストを範囲選択してコピーします。
- 続いて、MSDE付属のツール「SQL クエリ アナライザ」を起動してMSDEに接続します。そして所定のデータベースを選択します。
- ここで、次のような文をまず入力します。ビュー名とはクエリ名と同等のものです。
CREATE VIEW <ビュー名> AS
- さらにその次の行に、先ほどAccessでコピーしたSQL文を貼り付けます。またここで、SQLの一番後ろに付いている「;(セミコロン)」はMSDEでは文法エラーとなるので、これを削除しておきます。
- この状態で、F5キーを押すか、ツールバーのクエリ実行ボタンをクリックします。これによってMSDE上にビューが作成され、「コマンドは正常に終了しました。」というメッセージが表示されます。
※このウィンドウはMSDEにビューを作成するための命令を記述するためのもので、これ自体がビューのデザイン画面というわけではありません。したがって、このウィンドウに記述した内容自体は保存する必要はありません。
※「CREATE VIEW・・・・」の記述は行わず、Accessから貼り付けたSQL文だけを実行した場合、同じウィンドウの下のペインにその結果のデータが直ちに表示されます。SQLの結果を確認する際は便利ですが、ビューとしてMSDEデータベース上には保存されないことに注意してください。
- 作成されたビューを確認してみましょう。左にあるツリーより、先ほど作成されたビュー名を右クリック、[開く]を選択します。
- SQL文を貼り付けるのではなく、Accessのクエリデザインビューのようにマウス操作を中心にビューを新規作成したい場合は、MSDEのツール「Enterprise
Manager」の方が便利です。Enterprise Managerでは、Accessでいうところの「デザインビュー」、「SQLビュー」、「データシートビュー」が1つのウィンドウ内の別のペインとして表示されます。
また、上記で作成したビューは、もちろんこの状態ですでにEnterprise Managerでも呼び出し可能です。
- 上記の作業は、”選択クエリ”、つまり返り値を持つSQLの例です。更新クエリ等のアクションクエリについては、「ビュー」ではなく「ストアドプロシージャ」として作成することになります。
- MSDEのビューはAccessの選択クエリと同じもので、抽出や並べ替え、結合などを行うことができます。ただし、Access側からこれを呼び出す場合には、クエリではなく、"リンクテーブルとして接続"することになります。
|