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:
- Não há nenhum registro atual.
- O banco de dados ou recordset é somente de leitura.
- Nenhum campo no registro é atualizável.
- O banco de dados ou recordset foram abertos para uso exclusivo
por outro usuário.
- 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