|

|
|
 |
2.10 レコードセットの操作/削除 |
 |
|
|
|
|
|
レコードセットオブジェクト内の特定のレコードを削除する方法です。この方法は、SQLのDELETE文を使わない削除の方法です。
レコードセットオブジェクト内の特定のレコードを削除するときは、レコードセットオブジェクトのDeleteメソッドを使います。
|
|
|
|
|
|
|
|
|
|
まずは「レコードセット内のどのレコードが削除対象となるか」ですが、これは現在読み込まれているレコードです。読み込まれているレコードに対してDeleteメソッドを実行すると、そのレコードが削除されます。
削除については、実行したときに削除されてしまいます。一度削除してしまうとレコードの復活は出来ないので注意しましょう。
例では、「住所録テーブル」というテーブルを開き、フィールド「漢字氏名」が鬼瓦権蔵というレコードをFindFirstメソッドで検索。見つかった場合はそのレコードを削除しています。
Sub prcDelete2000()
'Access VBA Tips
'2.10 レコードセットの操作/削除
'Access2000以降での手順
Dim daoDB As DAO.Database
Dim daoRS As DAO.Recordset
'データベースのオープン(データベースオブジェクトの作成)
Set daoDB = CurrentDb
'テーブルのオープン(レコードセットの作成)
Set daoRS = daoDB.OpenRecordset("住所録テーブル", dbOpenDynaset)
'漢字氏名が「鬼瓦権蔵」というレコードを検索します
daoRS.FindFirst "漢字氏名 = '鬼瓦権蔵'"
'レコードが見つかったときは、そのレコードを削除します
If daoRS.NoMatch = False Then
daoRS.Delete
End If
'テーブルのクローズ
daoRS.Close
'データベースのクローズ
daoDB.Close
End Sub
|
※Access2000以降の場合。ただし、DAOを使う場合は参照設定が必要です。
Sub prcDelete97()
'Access VBA Tips
'2.10 レコードセットの操作/削除
'Access97までの手順
Dim daoDB As Database
Dim daoRS As Recordset
'データベースのオープン(データベースオブジェクトの作成)
Set daoDB = DBEngine.Workspaces(0).Databases(0)
'テーブルのオープン(レコードセットの作成)
Set daoRS = daoDB.OpenRecordset("住所録テーブル", DB_OPEN_DYNASET)
'漢字氏名が「鬼瓦権蔵」というレコードを検索します
daoRS.FindFirst "漢字氏名 = '鬼瓦権蔵'"
'レコードが見つかったときは、そのレコードを削除します
If daoRS.NoMatch = False Then
daoRS.Delete
End If
'テーブルのクローズ
daoRS.Close
'データベースのクローズ
daoDB.Close
End Sub
|
※Access97までの場合。
|
|
|
|
|