Lesson10 非連結フォームからレコードを操作する【レコード削除編】

スポンサーリンク

Lesson9のアップデートから大分時間が空いてしまいました。その間にパソコンを入れ替えたため、今回からAccess2007を使用します。

Lesson8、Lesson9で使用したフォームにボタンを一つ加えます。このボタンを押したとき、フォームに入力した ID のレコードを削除します。

ボタンの名前は、btn_削除 とします。

クリック時のイベントプロシージャへ、以下のとおりコードを記述してください。

使用される際は、そちらの環境で十分テストのうえ使用してください。

Private Sub btn_削除_Click()
Set db = CurrentDb
strSQL = "delete * from 基本情報 where ID=" & Me.txt_ID

db.Execute strSQL
End Sub

記述が完了したら一度上書き保存して、フォームビューに切り替えてください。

txt_IDに 1 を入力して、削除ボタンを押下してください。

では、テーブルを見てみましょう。

なんと!レコードが削除されていますね。レコードの削除ができました。

ちなみに、削除前のレコードはこちらです。

解説です

strSQL = "delete * from 基本情報 where ID=" & Me.txt_ID

追加、更新のときと同様、変数 strSQL に SQL文を組み立てて代入しています。

ここでは、レコードの削除を行うので、削除クエリに相当するSQL文を組み立てています。

delete■*■from■[レコードを更新するテーブル名]■where■[更新する範囲指定]

■は半角スペースを表しています。

この例では変数 strSQL に代入された値は、

delete * from 基本情報 where ID=1

となります。

最後に、レコード追加や更新のときと同様に、組み立てたSQL文をデーターベースに対して実行します。これで、指定したテーブルのレコードが更新されます。

db.Execute strSQL →指定したデーターベースに対して、変数 strSQL に代入したSQL文を実行せよ、という命令です。

では、次回はテーブルのレコードを取得し、画面に貼り付けてみましょう。


Lesson8、lesson9、lesson10 でフォーム:入力画面 に入力したコードは以下のとおりです。うまく動作しないときはよく見比べてみてください。

Option Compare Database
Option Explicit

Dim db As DAO.Database
Dim strSQL As String

Private Sub btn_追加_Click()

Set db = CurrentDb
strSQL = "insert into 基本情報 (ID,氏名,シメイ,生年月日) " & _
        "values(" & Me.txt_ID & ",'" & Me.txt_氏名 & "','" & Me.txt_シメイ & "',#" & Me.txt_生年月日 & "#) "

db.Execute strSQL
End Sub

Private Sub btn_更新_Click()

Set db = CurrentDb
strSQL = "update 基本情報 set 氏名='" & Me.txt_氏名 & "',シメイ='" & Me.txt_シメイ & "',生年月日=#" & Me.txt_生年月日 & "# " & _
        "where ID=" & Me.txt_ID

db.Execute strSQL
End Sub

Private Sub btn_削除_Click()

Set db = CurrentDb
strSQL = "delete * from 基本情報 where ID=" & Me.txt_ID

db.Execute strSQL
End Sub

コメントをどうぞ!

タイトルとURLをコピーしました