PROBLEMA ROLLBACK

MATHEUSGE 16/12/2011 00:01:00
#391471
Galera, tenho o seguinte código:

On Error GoTo erro
con.BeginTrans
[ô]Call VerificarCampos
[ô]If Flag <> 1 Then
[ô]Exit Sub
[ô]Else
data = CDate(txtData.Text)
If Op = 1 Then
Dim intRetorno As Integer
con.Execute [Ô]INSERT INTO Cliente(CdCliente, Nome, Endereco, Cidade, CEP, Bairro, DtCadastro, TelefoneFixo, Celular, TotalDeDebito) VALUES ([ô][Ô] & txtCdCliente & [Ô][ô] , [ô][Ô] & txtNome & [Ô][ô] , [ô][Ô] & txtEndereco & [Ô][ô] , [ô][Ô] & txtCidade & [Ô][ô] , [ô][Ô] & txtCEP & [Ô][ô] , [ô][Ô] & txtBairro & [Ô][ô] , [ô][Ô] & Format(data, [Ô]MM/DD/YYYY[Ô]) & [Ô][ô] , [ô][Ô] & txtTel & [Ô][ô] , [ô][Ô] & txtCel & [Ô][ô] , [ô][Ô] & txtDeb & [Ô][ô]);[Ô], intRetorno
con.CommitTrans
If intRetorno <> 0 Then
MsgBox [Ô]Cadastro concluído![Ô]
Call AtuaDados
Exit Sub
Else
MsgBox [Ô]Código existente![Ô]
Exit Sub
End If
Else
Dim val As Double
val = CDbl(txtDeb.Text)
If val < 0 Then
MsgBox [Ô]Valor Total de Debito incorreto![Ô]
Exit Sub
Else
con.Execute [Ô]UPDATE Cliente SET Nome = [ô][Ô] & txtNome.Text & [Ô][ô] , Endereco = [ô][Ô] & txtEndereco.Text & [Ô][ô], Cidade = [ô][Ô] & txtCidade.Text & [Ô][ô], CEP = [ô][Ô] & txtCEP.Text & [Ô][ô], Bairro = [ô][Ô] & txtBairro.Text & [Ô][ô], DtCadastro = [ô][Ô] & txtData.Text & [Ô][ô], TelefoneFixo = [ô][Ô] & txtTel & [Ô][ô], Celular = [ô][Ô] & txtCel & [Ô][ô], TotalDeDebito = [ô][Ô] & txtDeb & [Ô][ô] where CdCliente = [ô][Ô] & txtCdCliente & [Ô][ô][Ô]
con.CommitTrans
MsgBox [Ô]Atualizado com sucesso![Ô]
Call AtuaDados
Exit Sub
End If
End If
[ô]End If

erro:
MsgBox [Ô]Número : [Ô] & Str$(Err.Number) & vbCrLf & _
[Ô]Descrição : [Ô] & Err.Description & vbCrLf & _
[Ô]Gerado por : [Ô] & Err.Source, vbCritical
Exit Sub


Como faço para implementar o Rollback caso aconteça o erro? Tem algum retorno? ;x Sou noob ainda D:

Agradeço desde já!
KERPLUNK 16/12/2011 08:53:03
#391485
Seria assim:
erro:
MsgBox [Ô]Número : [Ô] & Str$(Err.Number) & vbCrLf & _
[Ô]Descrição : [Ô] & Err.Description & vbCrLf & _
[Ô]Gerado por : [Ô] & Err.Source, vbCritical
con.RollbackTrans
Exit Sub

Tenha em mente que o rollback NEM SEMPRE funciona bem se estiver usando Jet(Access)...
Tópico encerrado , respostas não são mais permitidas