Nicotto Town



【Access】rs.findテーブル検索追加②


Private Sub コマンド12_Click()

Me.Requery

'----オブジェクト変数の宣言
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
'----メッセージ用の変数???
Dim AAA


'----オブジェクト変数へ代入
Set cn = Application.CurrentProject.Connection
Set rs = New ADODB.Recordset

'menber_nameテーブルへ接続
rs.Open "menber_name", cn, adOpenKeyset, adLockOptimistic

'レコードの最初へ移動する
rs.MoveFirst

'チェックボックスフィールドにて1、つまりチェックボックスにチェックされているものを検索
rs.Find "チェック=1"

'チェックボックスにチェックされているレコードが見つからなかった場合
If rs.EOF Then

msg = MsgBox("削除する担当者をチェックしてください", vbOKOnly)

rs.Close
cn.Close

'チェックボックスにチェックされているレコードが見つかった場合
Else

msg = MsgBox("チェックされている担当者名を削除します。よろしいですか?", vbYesNo, "終了確認")
If msg = vbYes Then
GoTo line1

Else: GoTo line2

line1:

Me.Requery

'このクエリはチェックボックスにチェックされているレコードを削除する削除クエリ
DoCmd.OpenQuery "del_menber_name"
msg = MsgBox("担当者の削除が完了しました", vbOKOnly)
Me.Requery
GoTo line3

line2:

'menber_nameテーブルのチェックボックスのチェックを全て外す更新クエリ
DoCmd.OpenQuery "menber_name_更新クエリ"

line3:

End If
End If


End Sub


----------------------------
フォーム上のレコードソースを担当者一覧テーブル(menber_name)を指定している。
menber_nameテーブルには名前が多く登録されている。
menber_nameテーブルにはIDフィールド、名前フィールド、チェックボックス(YESNO)フィールドあり。
フォームに表示されている各担当者のチェックボックスにチェックをして、
削除ボタンを押すことにより、上記処理が実行される。




Copyright © 2025 SMILE-LAB Co., Ltd. All Rights Reserved.