Editando dados de um Recordset com ADO ?

Quando você queria editar um registro usando a DAO seguia os seguintes passos:

  1. Abria o Recordset

  2. Executava o método EDIT

  3. Executava o método UPDATE 

 Dim db As DAO.Database

 Dim rst As DAO.Recordset

 

 Set db = DAO.DBEngine.OpenDatabase(CaminhoBD,False, False)

 Set rst = db.OpenRecordset("Clientes")

 

 rst.Edit

 rst!Nome = "Macoratti"

 rst.Update

End Sub

Ao usar a ADO você deve atentar para as seguintes mudanças :

  Dim conn As ADODB.Connection

  Dim rst As ADODB.Recordset

  Set conn = New ADODB.Connection

  With conn

    .Provider = "Microsoft.Jet.OLEDB.4.0"

    .Mode = adModeReadWrite   ' Permite Ler/Escrever.

    .ConnectionString = "data source=" & CaminhoBD

    .Open

  End With

  Set rst = New ADODB.Recordset

  rst.Open "Clientes", conn, adOpenKeyset, adLockOptimistic

  ' Observe que não existe o método EDIT

  rst!Nome = "Macoratti"

  ' Se você mover o ponteiro do registro o método UPDATE não é necessário

  rst.Update

Até mais ...