
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
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
7
レコードセットにnullの場合
Visual Basic(VBA)
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
9
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
10
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
11
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
12
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
13
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
14
Access カレントレコードがありません
その他(データベース)
-
15
Access レコード削除時に「カレントレコードがありません」エラーが表示されてしまう
Access(アクセス)
-
16
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
17
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
18
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
19
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
20
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードセット(ADO.Recordset)...
-
DataGridViewの内容をDBに反映...
-
レコードが存在しなかった場合
-
DataGridViewの、選択されてい...
-
固有レコード識別子の選択とは
-
ADO VBA 実行時エラー3021
-
差し込み印刷のレコード数について
-
データセットのレコード更新が...
-
ヘッダレコードとトレーラレコ...
-
ADODBのRecordset.Deleteのエラ...
-
JSPのNULLレコード表示について...
-
ファイル書込みで一行もしくは...
-
アクセスでレポートの1印刷内...
-
大量のテキストデータの集計に...
-
Line Inputで文字化け(助けて...
-
COBOLでのランダムアクセス
-
サブフォームに新規レコードを...
-
サブレンジ分割されたNDB(富士...
-
wordのマクロで思うように行き...
-
postgresql DELETE後commit...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataGridViewの、選択されてい...
-
ファイル書込みで一行もしくは...
-
レコードが存在しなかった場合
-
ADO VBA 実行時エラー3021
-
JSPのNULLレコード表示について...
-
差し込み印刷のレコード数について
-
アクセスでレポートの1印刷内...
-
DataGridViewの内容をDBに反映...
-
サブフォームに新規レコードを...
-
ACCESSで大量の更新を行うと「...
-
カレントレコードが無い事を判...
-
ワードの差込印刷で教えて下さ...
-
[VBA] ADOの Clone と AddNew
-
サブレンジ分割されたNDB(富士...
-
固有レコード識別子の選択とは
-
データセットのレコード更新が...
-
レコードセット(ADO.Recordset)...
-
ヘッダレコードとトレーラレコ...
-
Access を×ボタンで閉じ...
-
ACCESS VBA テーブルデータに...
おすすめ情報