
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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
このQ&Aを見た人はこんなQ&Aも見ています
-
レコードが存在しなかった場合
Microsoft ASP
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
カレントレコードがありません"とでてきます"
Access(アクセス)
-
-
4
Access2010 「演算子がありません」エラー
その他(データベース)
-
5
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
6
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
7
レコードセットにnullの場合
Visual Basic(VBA)
-
8
Access サブフォームでの選択行の取得
その他(データベース)
-
9
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
10
Access レコード削除時に「カレントレコードがありません」エラーが表示されてしまう
Access(アクセス)
-
11
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
12
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
13
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
14
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
15
アクセスでサブフォームのレコードを取得したい。
Access(アクセス)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
Access カレントレコードがありません
その他(データベース)
-
18
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
19
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
20
このオブジェクトに値を代入することはできません
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードが存在しなかった場合
-
差し込み印刷のレコード数について
-
[VBA] ADOの Clone と AddNew
-
データセットのレコード更新が...
-
ADO VBA 実行時エラー3021
-
Access を×ボタンで閉じ...
-
ACCESSで大量の更新を行うと「...
-
VB.netの戻り値が返ってこない
-
DataGridViewの、選択されてい...
-
VB6のRDOについて
-
レコードセット(ADO.Recordset)...
-
サブレンジ分割されたNDB(富士...
-
JSPのNULLレコード表示について...
-
DataGridViewの内容をDBに反映...
-
サブフォームに新規レコードを...
-
カレントレコードが無い事を判...
-
ワードの差込印刷で教えて下さ...
-
ファイル書込みで一行もしくは...
-
Accessでレコードの更新を任意...
-
COBOLでのランダムアクセス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataGridViewの、選択されてい...
-
カレントレコードが無い事を判...
-
レコードが存在しなかった場合
-
差し込み印刷のレコード数について
-
アクセスでレポートの1印刷内...
-
ADO VBA 実行時エラー3021
-
レコードセット(ADO.Recordset)...
-
ACCESSで大量の更新を行うと「...
-
ファイル書込みで一行もしくは...
-
JSPのNULLレコード表示について...
-
ワードの差込印刷で教えて下さ...
-
固有レコード識別子の選択とは
-
データセットのレコード更新が...
-
DataGridViewの内容をDBに反映...
-
Access でレコードセレクタが押...
-
[VBA] ADOの Clone と AddNew
-
サブフォームに新規レコードを...
-
Access を×ボタンで閉じ...
-
ADODBのRecordset.Deleteのエラ...
-
サブレンジ分割されたNDB(富士...
おすすめ情報