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