SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Jeremy en Viernes 11 de Junio de 2004, 21:19

Título: Error 3251!!!
Publicado por: Jeremy en Viernes 11 de Junio de 2004, 21:19
Hola de nuevo. Necesito vuestra ayuda...

Al momento de guardar unos datos desde un form de visual a una tabla Access me aparece el siguiente error:

El Recordset actual no admite actualizaciones. Puede ser una limitación del proveedor o del tipo de bloqueo seleccionado.

El código que tengo es el siguiente:

Código: Text
  1.  
  2.  
  3. Private Sub cmdaceptar_Click()
  4. Dim cmd As String
  5. Dim sql As String
  6. 'Dim cn As ADODB.Connection
  7. 'Dim rs As ADODB.Recordset
  8. 'mnulimpiar.Enabled = False
  9. 'cmd Crea una cadena de conexión
  10. cmd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Ruta BBDD".mdb;Persist Security Info=false"
  11. 'Establezco una conexión con la base de datos
  12. Set cn = New ADODB.Connection
  13. With cn
  14.     .ConnectionString = cmd
  15.     .Open
  16. End With
  17. 'Creo la consulta
  18. sql = "SELECT * FROM datos"
  19. 'Abro el recordset
  20. Set rs = New ADODB.Recordset
  21. With rs
  22.     '.Open sql, cn, adOpenForwardOnly, adLockReadOnly
  23.     .Open sql, cn
  24.     .AddNew
  25.     !tienda = txttienda.Text
  26.     !nombre = txtnombre.Text
  27.     !router = txtrouter.Text
  28.     !servidor = txtservidor.Text
  29.     !tipo = cbotipo.Text
  30.     .Update
  31.     .Close
  32. End With
  33. End Sub
  34.  
  35.  

Gracias por vuestra ayuda.

º¿º
Título: Re: Error 3251!!!
Publicado por: Shiquilla en Viernes 11 de Junio de 2004, 23:02
Buenas, eso te ocurre porque estás abriendo el cursor en modo lectura, prueba a poner esto:

* Bloqueando el registro *
Código: Text
  1. With rs
  2.    '.Open sql, cn
  3.    .Open sql, cn, adOpenKeyset, adLockPessimistic
  4.    .AddNew
  5.    !tienda = txttienda.Text
  6.    !nombre = txtnombre.Text
  7.    !router = txtrouter.Text
  8.    !servidor = txtservidor.Text
  9.    !tipo = cbotipo.Text
  10.    .Update
  11.    .Close
  12. End With
  13.  

* Sin bloquear el registro *

Código: Text
  1. With rs
  2.    '.Open sql, cn
  3.    .Open sql, cn, adOpenKeyset, adLockBatchOptimistic
  4.    .AddNew
  5.    !tienda = txttienda.Text
  6.    !nombre = txtnombre.Text
  7.    !router = txtrouter.Text
  8.    !servidor = txtservidor.Text
  9.    !tipo = cbotipo.Text
  10.    .UpdateBatch
  11.    .Close
  12. End With
  13.  

Saludos
Título: Re: Error 3251!!!
Publicado por: Jeremy en Viernes 11 de Junio de 2004, 23:08
Shiquilla,muchísimas gracias.  ;)
Título: Re: Error 3251!!!
Publicado por: Shiquilla en Viernes 11 de Junio de 2004, 23:10
De ná :D