rs.Open "SELECT * FROM TheTable WHERE SomeKeyField = SomeCriteria", conn, adOpenStatic, adLockOptimistic, adCmdText
If Not rs.EOF then
rs.Fields("Field1"

.Value = "ABC"
rs.Update
End If
>There are times that my application runs slow
This subject is far too large to discuss in a few lines here. There are thousands of factors.
You need to identify the bottle neck areas individually and then handle them individually.
If you use Client Side - LockBatchOptimistic cursors for updating individual records, or small groups of records, then disconnecting the recordset from the datasource immediately, and then reconnecting and using UpdateBatch to quicky run the db updating, and again disconnecting afterwards, will solve alot of problems.
And limit the scope of records your recordset pull in locally (don't try always pulling in all records, but just the ones you really need by forcing the user to use a criteria, or only pulling in a few pages at a time).
Start new threads in TT for the different questions, limiting one thread to a single subject, or very closely related subjects, narrowing down as much as possible.