locked
Salvar registro editado RRS feed

  • Pergunta

  • Para impedir que seja feito o salvamento automático de um registro estou utilizando os procedimentos abaixo.
    Pergunto:
    1) Corro algum risco em agir dessa maneira?
    2) A maneira mais segura seria trabalhar com o form desvinculado?
    3) Existe outra maneira? A minha intenção é efetuar qualquer alteraçao através de comandos SQL (UPDATE.....)

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    On Error GoTo Err_Form_BeforeUpdate
        Cancel = True
       
    Exit_Form_BeforeUpdate:
        Exit Sub
       
    Err_Form_BeforeUpdate:
        MsgBox Err.Number & ". " & Err.Description
        Resume Exit_Form_BeforeUpdate

    Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Dim strMsg As String
    Dim numErr As Long
       
        If DataErr = 2950 Then       
            strMsg = "Para salvar as atualizaçoes clique em Salvar"
        Else
            strMsg = "Erro: " & DataErr
        End If
            Response = acDataErrContinue
            MsgBox strMsg
      
    End Sub


    Sergio Ivanenko
    quarta-feira, 17 de março de 2010 00:30

Respostas

  • O ponto fraco deste tipo de abordagem é ter a edição do registro aberta pelo usuário e manipular diretamente a tabela com instrução SQL, pois o Access provavelmente vai gerar um erro dizendo que outro usuário alterou o mesmo registro.

    Eu preferiria salvar o registro com Me.Refresh (em vez de instrução SQL), assim o Access entenderia que foi o mesmo usuário que editou e salvou o registro. O Me.Refresh, porém, dispara o BeforeUpdate, então você deverá usar uma variável Boolean para saber que o usuário clicou em Salvar.




    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    • Marcado como Resposta Ivanenko sábado, 20 de março de 2010 16:14
    quinta-feira, 18 de março de 2010 01:56
    Moderador