VBでSQLステートメントを実行するには?(RunSQLメソッドを使用する場合)
 
では、実際にVBでSQLを実行してみましょう。
SQLをVBで実行するには、AccessのRunSQLメソッドを使う方法や先述したADOやDAO接続を使う方法などがあります。
まず、簡単なRunSQLメソッドを使用する方法でやってみましょう。
今回は前に作ったCDアルバム管理ソフトのテーブルを全て削除するプロシージャ(BeDeleteとする)を作成します。
このプロシージャはデータを全て削除してしまうのでバックアップを取っておいて下さい。
 
VBのエディタを開いてモジュールを新規作成し、以下を記述します。 
詳しい解説は後述しますので、できたら適当なモジュール名をつけて実行してみてください。
警告メッセージのあと、「はい」を選択します。Accessに戻ってテーブルを見てみましょう。
テーブルのデータが全て削除されました。
では、プログラムの内容を見ていきましょう。
 

まずSQLステートメントを記述するには、このSQLステートメントを格納する変数が必要なのでStiring型で宣言します。


これがSQL文ですね。
先ほど作成した変数BeSQLに「テーブルの中身(FROM)
全て(*)削除する(DELETE)」という内容のSQL文を格納しています。

ここでSQLを実行しています。SQL文を格納した変数、BeSQLをRunSQLで実行します。
 
今回のように、削除などデータに影響を与えるアクションクエリは実行すると警告が出ます。

これを表示させないようにするには以下のコードを記述します。

1行目…警告を無効にする
2行目…SQLを実行
3行目…警告を無効にする
SetWarningsメソッドを使用し、警告を制御しています。
このメソッドはAccess データベースのみに適用できます。
 
次は、ADO接続を使用した方法でSQLを実行してみましょう。
 

 

 
 
(C)1999-2003 BE CORPORATION All rights reserved.Terms of Use. Privacy Policy.