dポイントプレゼントキャンペーン実施中!

Access2000(初心者)
フォームで検索したレコードをリスト表示させています。
そのリストで選択したレコードをコマンドボタンで削除したいです。
拡張で複数選択して選択した全てのレコードを削除する方法を
教えて下さい。

※リスト検索は下記方法で表示させています。

Dim var条件 As Variant
Dim var行 As Variant

For Each var行 In Me.リスト名.ItemsSelected
var条件 = var条件 & IIf(Not var条件 = "", ",", "") & _
Me.リスト名.Column(0, var行) ' --- A
Next
For i% = 1 To Me.リスト名.ListCount Step 1
If Me.リスト名.Selected(i%) = True Then
DoCmd.OpenForm "フォーム名", , , "ID IN (" & var条件 & ")" ' --- B
Exit Sub
End If
Next i%
MsgBox "リストで選択してください"

A 回答 (1件)

一例ですが、



Private Sub ボタン_Click()
  Dim vTmp As Variant
  Dim sTmp As String

  sTmp = ""
  For Each vTmp In Me.リスト名.ItemsSelected
    sTmp = sTmp & "," & Me.リスト名.Column(0, vTmp)
  Next
  If (Len(sTmp) > 0) Then
    CurrentDb.Execute "DELETE * FROM テーブル名 WHERE ID IN (" & Mid(sTmp, 2) & ");"
    Me.リスト名.Requery
  End If
End Sub


※ Mid(sTmp, 2) は、先頭にある「,」を削るため

※※ データをバックアップしてから
    • good
    • 0
この回答へのお礼

"CurrentDb"でデータベースを操作出来るんですね。
とても参考になりました。
半年これを避けて来たのですが、やっと解決です^^;
有り難う御座いました。

お礼日時:2009/03/30 09:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!