そこで今回は、Access側からMySQL用のSQL文を送信できる、「パススルークエリ」について解説します。
パススルークエリの使い方がわかれば、Accessの使いやすさとMySQLの高機能のいいとこどりができます。
【1】以下の図を参考にMySQLを開始・接続します。
1.コマンドプロンプトを起動します。
2.「net start mysql」と入力し、「Enterキー」を押します。
3.「mysql -u pgtop -p -b」と入力し、「Enterキー」を押します。
4.パスワードを求められるので「12345」入力し、「Enterキー」を押します。

*「-b」オプションを付けて起動するとビープ音が出なくなります。
【2】以下のSQL文を入力し、使用するデータベースを選択します。
USE SampleDB040;

【3】「SampleDB040Conn.mdb」を開きます。

【4】オブジェクトで「クエリ」をクリックします。

【5】「SQL練習」を選択し、「デザイン」をクリックします。

【6】「SQLビュー」を選択します。

【7】SQLビューが表示されました。

最初はわざと「選択クエリ」で、MySQL用のSQL文を入力してみます。
【8】以下のSQL文を入力します。
SELECT * FROM T01Prefecture LIMIT 5;

*LIMIT はAccessでは使えないのでエラーになります。
【9】「!」(実行)ボタンをクリックします。

【10】構文エラーが表示されるので、「OK」ボタンをクリックします。

今度はパススルークエリに変えてみましょう。
【11】メニューから「クエリ → SQL → パススルー」を選択します。

【12】パススルークエリに変わりました。

【13】もう一度「!」(実行)ボタンをクリックします。

【14】「データソースの選択」ダイアログボックスが表示されたら、「コンピュータデータソース」タブをクリックします。

【15】「SampleDB040」を選択して、「OK」ボタンをクリックします。

【16】SQL文の実行結果が表示されました。

【17】SQLビューを閉じます。
【18】閉じる時にメッセージが表示されたら、「いいえ」ボタンをクリックしてください。

【19】Accessのファイルを閉じます。
【20】以下の図を参考にMySQLを終了・停止します。
1.「exit」と入力し、「Enterキー」を押します。
2.「net stop mysql」と入力し、「Enterキー」を押します。

【21】コマンドプロンプトを閉じてください。
【解説】
パススルークエリを使うと、Access側から MySQL の命令が使えることがわかりました。パススルークエリでは、SQL文を Accessで解釈せずに、直接MySQLにSQL文が送信されます。
前回説明した「選択クエリ」と「パススルークエリ」の違いを理解して、使い分けるとシステムを開発する時に便利です。