I had this question after viewing Trouble Editing an ADO Recordset bound to an Microsoft Access Form
I'm essentially having the same problem, but i've tried the solution at the link and it doesn't work. I'm linking to a backend Azure SQL Database. I'm not sure if the provider is my issue or something else. I will note that at one point i SWEAR i had this working once i switched to a client side cursor, but now it seems only to work if my SQL has no joins and it must just be on a table (e.g. it doesn't even work directly on a view). The recordset.isupdateable property is true and i can edit the view directly if I open the link from access, from within SSMS, or if i manipulate the recordset itself manually from VBA. Just not from a form.
Here's a short version of some of my code on a test form trying to get this to work:
Dim con As New ADODB.Connection
Dim com As New ADODB.Command
Dim rs As New ADODB.Recordset
con.connectionString = "DSN=<dsnname>"
com.ActiveConnection = con
com.CommandType = adCmdText
com.CommandText = "SELECT * FROM tbl_ActualHours INNER JOIN tbl_Foreman_Data ON tbl_ActualHours.i_Foreman_
Number = tbl_Foreman_Data.i_Foreman
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
Set Me.Recordset = rs.Clone