Saludos a todos,
he estado buscando por el foro pero no he encontrado solución a mi problema. Verán:
Estoy cargando en un recordset campos de varias tablas. Recojo los valores y los modifico segun el valor que tenían, y ahora quiero meterlos de nuevo en sus correspondientes tablas mediante rs.Update, pero me da el siguiente error:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Cannot update. Database or object is read-only.
El probema es que al tratarse de un recordset de varias tablas me dice que mi BD es de sólo lectura, cuando no es así porque todos los demás recordsets, commands, y updates funcionan correctamente. He confirmado esta teoria cuando del recordset he quitado todo lo que hacía mención a una de las dos tablas.
Entonces mi duda es la siguiente: ¿Se puede hacer un update de varias tablas en un mismo recordset a la vez? Si es posible, ¿cómo lo harían?
Les adjunto el código por si no han entendido bien mi explicación. Gracias por su ayuda.
Código:
Set rs_actualitzarCiutadaAvatar = Server.CreateObject("ADODB.Recordset")
rs_actualitzarCiutadaAvatar.ActiveConnection = connect_cedb
rs_actualitzarCiutadaAvatar.Source = "SELECT ciuPropietariID, punts, Avatars.nom, alias, imatge FROM Avatars, Ciutadans WHERE Avatars.avatID = " & avatarID & " AND Ciutadans.ciuID = " & ciutadaID
rs_actualitzarCiutadaAvatar.CursorType = 3
rs_actualitzarCiutadaAvatar.LockType = 2
rs_actualitzarCiutadaAvatar.Open()
Response.Write(rs_actualitzarCiutadaAvatar.Recordcount & "<br>")
If NOT rs_actualitzarCiutadaAvatar.EOF Then
intPuntsCiutada = rs_actualitzarCiutadaAvatar("punts")
strAliasCiutada = rs_actualitzarCiutadaAvatar("alias")
intPuntsCiutada = intPuntsCiutada - intPuntsApropiarseAvatar
rs_actualitzarCiutadaAvatar("punts") = CInt(intPuntsCiutada)
rs_actualitzarCiutadaAvatar("ciuPropietariID") = CInt(ciutadaID)
rs_actualitzarCiutadaAvatar(2) = CStr(strAliasCiutada)
rs_actualitzarCiutadaAvatar.Update()
End If
rs_actualitzarCiutadaAvatar.Close()
Set rs_actualitzarCiutadaAvatar = Nothing