こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

GoToRecordで実行時エラー '2105'

教えてください。Access2000です。

Private Sub 次へ_Click()
On Error GoTo Err_次へ_Click
On Error Resume Next
DoCmd.GoToRecord , , acNext
Exit_次へ_Click:
Exit Sub
Err_次へ_Click:
MsgBox ERR.Description
Resume Exit_次へ_Click

End Sub

って書いたのですが、最後のレコードまで行った後
「次へ」をクリックすると実行時エラーになってしまいます。
移動できませんとかメッセージで逃げたいのですがどうすればいいのでしょうか?
お願いします。

投稿日時 - 2004-04-05 12:11:24

QNo.823445

すぐに回答ほしいです

質問者が選んだベストアンサー

こんにちは。maruru01です。

先頭レコードや末尾レコードは以下のように判定出来ます。


Dim tempRecNum As Long

tempRecNum = Me.CurrentRecord
Select Case tempRecNum
  Case Me.Recordset.RecordCount
    MsgBox "一番後ろのレコード"
  Case 1
    MsgBox "一番前のレコード"
  Case Else
    MsgBox tempRecNum & "番目のレコード"
End Select

投稿日時 - 2004-04-05 12:25:48

お礼

ご回答、ありがとうございました。
無事できました。感謝いたします。
Dcountでしかレコード件数を数える事を知らない私には
大変勉強になりました。
今後もこのケース文はいろんな場面で使用できそうです。
本当にありがとうございました。

投稿日時 - 2004-04-05 13:27:26

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

If Err.Number = 2105 Then
  MsgBox "移動できません。"
Else
> MsgBox ERR.Description
End If
> Resume Exit_次へ_Click

のようにしてみてください。

投稿日時 - 2004-04-05 12:23:37

お礼

ご回答、ありがとうございました。
エラーが発生するのが移動時でしたのでIf文で分岐する
ことができませんでした。
説明不足で申し訳ありませんでした。
また、よろしくお願いします。

投稿日時 - 2004-04-05 13:25:29

あなたにオススメの質問