Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

ADOとSQLを用いてデータを選択しレコードを削除する方法 : VBAのTips解説



WHERE句

WHERE句とは、SQLステートメントを実行する際、実行対象となるレコードを指定するための条件を提供するSQL構文です。WHERE句は、単独で用いるものではなく、SELECT 〜 FROM 構文などと組み合わせ、各種の条件を提供します。記述する形式としては、fieldname <比較演算子> 値、または式になります。使用頻度の高いSQL構文です。

  • 書式

WHERE criteria

  • 引数
引数 意味 指定
criteria 一般的には、比較演算子を用いて各種の条件を提供します 省略不可
  • 比較演算子表
記号 意味
= 等しい
<> 等しくない
> より小さい
>= より小さいか等しい
< より大きい
<= より大きいか等しい
and かつ
or または

関連項目

  1. CurrentDb(DAO)
  2. CreateQueryDefメソッド(DAO)
  3. Deleteメソッド(DAO、ADO)
  4. ActiveConnectionメソッド(ADO)
  5. Connectionオブジェクト(ADO)
  6. Appendメソッド(ADO)

事例 ) ADOを用いて、コンボボックスから取引先を指定し該当レコードを削除する

ADOを用いて、コンボボックスから取引先を指定し該当レコードを削除します。

  1. テーブルを作成します。
  2. ID、納品日、取引先名、請求額フィールドを作成します。
  3. 連結フォームを作成します。
  4. ID、納品日、取引先名、請求額テキストボックスを作成します。
  5. フォームフッターにコンボボックスを作成します。
  6. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   Dim cn As New ADODB.Connection
   Dim cmd As New ADODB.Command
   Dim mySQL As String
   Dim strMsg As String
   Dim varRet As Variant
   Dim varComValue As Variant

   varComValue = [Forms]![Where2_2]![Cmb取引先名]

   Set cn = CurrentProject.Connection

   mySQL = "DELETE *, 取引先名 FROM 請求管理 "
   mySQL = mySQL & "WHERE ((取引先名) = '" & varComValue & "');" '--- A

   strMsg = "「" & varComValue & "」のレコードを削除します。" & _
   					"一度、削除すると元に戻りません。"

   cmd.ActiveConnection = cn
   cmd.CommandText = mySQL

   If MsgBox(strMsg, vbYesNo) = vbYes Then '--- B
      cmd.Execute mySQL
      Me.Requery
   End If

   Set cn = Nothing

End Sub
解説
  1. コンボボックスで選択したデータを元にデータを抽出します。
  2. レコードを削除する場合、確認メッセージを表示させます。

動作確認

  1. フォームをビューモードで開きます。
  2. コンボボックスから取引先を選択し、[実行ボタン]をクリックします。

  1. 指定された取引先のレコードがテーブルから削除されます。

ページの先頭へ 前ページへ戻る

 


ADOとSQLを用いてデータを選択しレコードを削除する方法 : VBAのTips解説


 

-Microsoft Access Club-

cPanel と PLESKをインストールした専用・共有レンタルサーバーを銀行振込でご提供中。契約書は一切不要です。
cPanel や PLESKをインストールした専用・共有レンタルサーバー
まずは1ヶ月から...。
日本国内の銀行振込がOK、契約書は不要です。