<Access クエリーを連続で実行させる>
こんにちは、三流プログラマーのKen3です。 前回、までで、やっとテーブル作成・データ作成ができました。 今回は、その作成したクエリーを連続で実行させてみたいと思います。/* * 1. 今回のキッカケ */
No.135 Access テーブル作成クエリーを使用してみた http://www.ken3.org/backno/backno_vba28.html#135 で、 郵便番号別のテーブルを作成しました。 No.136 Access テーブル追加クエリーを使用してみた http://www.ken3.org/backno/backno_vba28.html#136 で、 集計数が10以下のデータを別テーブルへ追加する、 追加クエリーを作成しました。 今回は、作成したクエリーを連続で実行してみます。 ※前回までは、作業者が手でクエリーをダブルクリックなどで実行してたけど、 まとめて実行してみたいと思います。/* * 2.マクロで機能を実現してみる */
ある決まった処理をまとめて行う。 そんな時便利なのがAccessにもあるマクロです。 (※マクロ=VBAと思いがちですが、ここでは、 Accessのマクロ機能で攻めてみます) 新規でマクロを作成し、 アクションでクエリを開くを選択します。↑マクロのアクション選択画面 次に、アクションのパラメータを入れます。 開きたいクエリー名をセットします。
↑クエリー名称の入力 ここまでで、1つのクエリーを開けたので、 順番に、 クエリを開く MAKE_DATA5 クエリを開く MAKE_DATA3 クエリを開く MAKE_DATA2 クエリを開く DATA5から10以下のデータをDATA3へ追加 クエリを開く DATA3から10以下のデータをDATA2へ追加 と、作成します。 開く順番を間違えなければOKでしょう。 実行すると、確認メッセージが表示されるが、なんとか動きました。 ・テーブル作成クエリを実行すると新しくテーブルが作成されます や ・XX件のデータを追加します なんてメッセージ、表示をやめたいですよね。 そんな時は、マクロのアクションで、 メッセージの設定をいいえにすると、メッセージが出なくなります。
↑アクションにメッセージの表示を追加する
/* * 3.マクロをモジュールに変換して、コードを見てみる */
マクロが出来たので、今度は、そのマクロをVBAのモジュールに変換してみます。 ※まぁ、変換しないでもいいんだけど、ネタ的に使いたかったので(笑) 変換したいマクロを選択して、 右ボタンを押して、ショートカットメニューを表示させます。 その中から、名前を付けて保存を選択します。 貼り付ける形式をモジュールにします。 ~~~~~~~~~~~~~~~~~~~~~~~~~~↑マクロを選択後、右ボタン・形式をモジュールにする 下記のような感じで、モジュールに変換できます。
Function マクロ1()
On Error GoTo マクロ1_Err
DoCmd.SetWarnings False
' MAKE_DATA5
DoCmd.OpenQuery "MAKE_DATA5", acViewNormal, acEdit
' MAKE_DATA3
DoCmd.OpenQuery "MAKE_DATA3", acViewNormal, acEdit
' MAKE_DATA2
DoCmd.OpenQuery "MAKE_DATA2", acViewNormal, acEdit
' DATA5から10以下のデータをDATA3へ追加
DoCmd.OpenQuery "YUBIN_DATA5から10以下を追加", acViewNormal, acEdit
' DATA3から10以下のデータをDATA2へ追加
DoCmd.OpenQuery "YUBIN_DATA3から10以下を追加", acViewNormal, acEdit
マクロ1_Exit:
Exit Function
マクロ1_Err:
MsgBox Error$
Resume マクロ1_Exit
End Function |
|
あとは、項目別にMSでお勉強かな? ◆ マイクロソフト サイトの歩き方 ◇ How-To インデックス ◇ FAQ インデックス ◇ スキルレベル別おすすめコンテンツ ◇ テクノロジ マップ ◇ テーマ別技術資料一覧 |
| ※種類が豊富で探し易いです。※在庫ありが48時間以内発送が急ぎで資料や書籍がほしい時、とても助かります。 お奨め本の目次を見るだけでも勉強になったり |