Current recordset does not support updating this may
But there are a number of conditions to fulfil before this will work properly, so I suggest that you continue with Find for the moment. This is a so-called "firehose cursor" which supports only Move Next and Move First. It's used to iterate a recordset, for example to fill a listbox with values. Text ' The email address the customer uses for instant messaging rs. Text ' Other details associated with the customers instant messaging rs. I shall just mention that if you are searching an Index (perhaps the primary key) then it is possible to use Seek, rather than Find, which would be much faster. This means that your recordset is "dirty" between requeries if you don't do it every time you change a record, and doing that can cause unacceptable performance overhead if you are working with a lot of records. (Last one had to do with a less-than-complete understanding of how cursortype and cursorlocation interact, as I recall.) You have an impressive range of expertise and people listen to you. Especially when you contradict someone else who is trying to help too. Wow, sounds very much like you've been saving this up. The way to overcome this is to use SQL statements or stored procedures with ADO command objects to update your database, and simply run another query (close and reopen the recordset) whenever you want to update your local recordset with your changes. Move Last End Sub I don't mean to embarrass you, Andrew, but you should probably check your answers more carefully before you make them, in particular with ADO since this isn't the first howler you've made in your ADO answers. If you're really trying to help them, you have a responsibility to see that you're not giving them wrong information.
If you take responsibility to help someone, then to steer them wrong fails to meet that responsibility. It isn't useful to an OP to give him wrong information, after all. Find to find the reference you are looking for; Check whether Find was successful in locating the row; If it was successful, edit and Update the row; If it didn't find the row, then add a new row (if this is what you want to do). Fields("reference") ' Msg Box ("HELLO") End If 'rs. Text ' Saves the customer ID to the database This is only comparing the field of the first record in the recordset, or the row that the recordset is currently on (having just opened the recordset). Move First so that you start searching from the first row; Use rs. Text ' Saves the customer ID to the database rs. str Criteria = "reference = " & "'" & txt User Number. Text = "" Then Msg Box "Some fields are still empty! Obviously, this can complicate a back end migration from Access to SQL Server or Oracle, so it becomes a potential scalability risk. Move Last End Sub Three guesses which line errors out with "Rowset does not support fetching backward"? Update ' Handle the data Private Sub btn Add_Click() Dim str Criteria As String Dim lng Cur Record As Long ' Trap the user's search entry. An important point about the Seek method is that it only works with "native JET databases" meaning Access and nothing else.