
rs.Open "SELECT * FROM Tログイン WHERE サイト名='" & サイト名 & "'", cn, adOpenStatic, adLockOptimistic
rs("日時") = Now()
rs.Update
このコードを実行しようとしたときに、
実行時エラー3021「BOFとEOFのいずれかTRUEになっているか、
または現在のレコードが削除されています。
要求された操作には、現在のレコードが必要です。」
と言うエラーが発生する場合があるのですが、
どういう意味のエラーなのかが良くわかりません。
ちなみに、
rs("日時") = Now()
をコメントアウトして、
rs.Updateのコードを実行しても、同じエラーが発生します。
No.1ベストアンサー
- 回答日時:
レコードセットをOpenした時にレコードが一件もないとBOF,EOFは共にTrueになります。
無条件にUpDateするのではなく、レコードが取得出来た場合にだけ更新します。
もしRsのEOFがFalseなら
If Rs.EOF = False Then ' Not Rs.EOF と同義
rs("日時") = Now()
rs.Update
Else
Msgbox "該当するレコードがありません。"
End If
上記はコードでは仮に10件のレコードが該当しても更新するのは先頭のレコード
一件だけです。もし、そのSelect文で複数レコードを更新するなら
rs.Open "SELECT * FROM Tログイン WHERE サイト名='" & サイト名 & "'", cn, adOpenStatic, adLockOptimistic
If Not Rs.EOF Then
Do While Not Rs.EOF
rs("日時") = Now()
rs.Update
Rs.MoveNext '次のレコードへ移動。カーソルがレコードの終端に来るとEOFはTrueになる
Loop
Else
Msgbox "該当するレコードがありません。"
End If
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
レコードが存在しなかった場合
Microsoft ASP
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
カレントレコードがありません"とでてきます"
Access(アクセス)
-
-
4
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
5
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
8
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
9
レコードセットにnullの場合
Visual Basic(VBA)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
なぜエラーになるのでしょうか? アクセス フォーム
Access(アクセス)
-
12
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
13
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
14
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
15
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
16
On ErrorでエラーNoが0
Visual Basic(VBA)
-
17
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
18
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
19
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
20
ACCESS ADOでupdateが効かない
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewにてセル以外をク...
-
Accessデータシートビューの行...
-
アクセスでレポートの1印刷内...
-
[VBA] ADOの Clone と AddNew
-
固有レコード識別子の選択とは
-
JSPのNULLレコード表示について...
-
vbからmdbのレコード削除
-
ADO VBA 実行時エラー3021
-
HTA上データをExcelへ転記する...
-
Oracleでの文字列連結サイズの上限
-
OracleのSQL*PLUSで、デー...
-
select句副問い合わせ 値の個...
-
MySQLで MAX()とGROUP BYを使う...
-
実績累計の求め方と意味を教え...
-
SELECTで1件のみ取得するには?
-
集計後の数値が倍になる
-
Access終了時の最適化が失敗?
-
外部結合とor条件混在の記述方法
-
Oracle8iでSQL文の引数について
-
GROUP BYを行った後に結合した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ADO VBA 実行時エラー3021
-
JSPのNULLレコード表示について...
-
ファイル書込みで一行もしくは...
-
ワードの差込印刷で教えて下さ...
-
レコードが存在しなかった場合
-
DataGridViewの、選択されてい...
-
差し込み印刷のレコード数について
-
サブフォームに新規レコードを...
-
DataGridViewの内容をDBに反映...
-
アクセスでレポートの1印刷内...
-
固有レコード識別子の選択とは
-
カレントレコードが無い事を判...
-
レコードセット(ADO.Recordset)...
-
ACCESSで大量の更新を行うと「...
-
データセットのレコード更新が...
-
Access を×ボタンで閉じ...
-
サブレンジ分割されたNDB(富士...
-
[VBA] ADOの Clone と AddNew
-
Access でレコードセレクタが押...
-
ヘッダレコードとトレーラレコ...
おすすめ情報