gooドクター有料プランが1ヶ月間無料!

教えてください。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

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

gooドクター

A 回答 (2件)

こんにちは。

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/04/05 13:27

If Err.Number = 2105 Then


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

のようにしてみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/04/05 13:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング