|
-
August 13th, 2011, 07:46 AM
#1
Runtime Error 3021 BOF EOF
Code:
Call Opendbase
rs.Open "Select * from tblBorrowedBooks where IDNumber = '" & txtID.Text & "' and BookTitle= '" & txttitle.Text & "' and Copies = " & BorrowedBooksGrid.TextMatrix(BorrowedBooksGrid.Row, 9) & "", cn, 3, 2
If Not rs.BOF And rs.EOF Then
rs!Copies = Val(copy.Text) + Val(txt.Text)
BorrowedBooksGrid.Refresh
rs.Update
rs.Close
cn.Close
BorrowedBooksGrid.Refresh
MsgBox "Book Borrowed. . . ."
copy.Text = ""
Else
rs.MoveFirst '<---------Error Here il try to change it to movelast but the same error
End If
End If
any BOF EOF solution syntax for my code help me plss
i dont want to use error handler because nothing happen the program only bypass the Error pls help me guys
-
August 13th, 2011, 08:57 AM
#2
Re: Runtime Error 3021 BOF EOF
Code:
If Not rs.BOF And rs.EOF Then
If both BOF and EOF is true as would be the case in your else senario then there are no records in the recordset therefore there is no first or last to move to and it is giving you an error.
What you need in your else is something more like.
Code:
Msgbox "Record not found"
Edit: On another note you should be closing your recordset outside the If block. as is it is only closing the recordset when the If condition is true. moving the close statement after the end if will close it in either case.
Last edited by DataMiser; August 13th, 2011 at 09:02 AM.
Always use [code][/code] tags when posting code.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|