Usando os métodos Edit, Addnew e Update...


Ao utilizar o método Edit o Jet copia o registro atual de um Recordset do tipo dynaset ou Tabela
para o Buffer de Cópia para posterior edição.
 
A Sintaxe usada é a seguinte: recordset.Edit
                                
O recordset correspondente representa o nome do objeto Recordset atualizável que contém o regis-
tro que você quer editar.

Observações
Logo que você usa o método Edit, as mudanças feitas nos campos do registro atual são copiadas 
no  buffer de cópia. Depois que você  faz as  mudanças  desejadas  no registro, use o método de 
Atualização Update para salvar as alterações.
 
Precaução

-Se você edita um registro e então executa qualquer operação movendo-se para outro registro 
sem usar o método Update primeiro, suas alterações serão perdidas sem aviso. 

-Além disso, se você fecha o recordset ou termina o procedimento que declara o recordset ou 
o objeto de Banco de dados relacionado, seu registro editado é descartado sem aviso algum.

Quando a propriedade LockEdits do Recordset for Verdadeira(bloqueio pessimista) em um ambiente
de multiusuário, o registro permanece bloqueado desde o momento de utilização do método Edit até 
que a atualização for completada.

Se a propriedade LockEdits for Falsa (bloqueio otimista), o registro é bloqueado e
comparado com o registro pre-editado logo antes de sua atualização no banco de dados. 

Se o registro mudou desde que você usou o método Edit , a operação de Atualização falha gerando 
o erro(3197). 
 
Nota 
O bloqueio Otimista sempre é usado em formatos de banco de dados externos, como ODBC e insta-
llable ISAM.(Dbase,Fox,...) 
 
O registro atual permanece atual depois que você usou o Edit. 

Para usar o Edit, deve haver um registro atual.  Se não há nenhum registro atual ou se o 
recordset não se refere a um Recordset do tipo dynaset ou tipo Tabela um erro acontece. 

Ao Usar o método Edit o Jet gera um erro nas seguintes condições: 
  1. Não há nenhum registro atual.
  2. O banco de dados ou recordset é somente de leitura.
  3. Nenhum campo no registro é atualizável.
  4. O banco de dados ou recordset foram abertos para uso exclusivo por outro usuário.
  5. Outro usuário bloqueou a página que contém seu registro.
Precaução Se você usa qualquer método de edição da DAO (AddNew, Edit, Delete, ou Update) dentro de um loop que editará mais de um registro, o Jet Engine versão 3.0 pode tratar o loop inteiro como uma transação implícita. Significa que você necessariamente não poderá garantir que cada atualização seja escrita imediatamente no banco de dados. Isto pode afetar o tratamento de erros, bloqueio de páginas , e a visibilidade imediata das mudanças para outros usuários. Para garantir que as alterações sejam escritas imediatamente no banco de dados,inclua cada bloco - Edit. . . Update - dentro de uma transação explícita. Para mais informação sobre transações, veja o BeginTrans, CommitTrans, Rollback.

Retorna