【Access】rs.findテーブル検索追加②
- カテゴリ:パソコン/インターネット
- 2011/08/08 05:03:06
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)フィールドあり。
フォームに表示されている各担当者のチェックボックスにチェックをして、
削除ボタンを押すことにより、上記処理が実行される。