BEGINTRANS - COMMITTRANS - ROLLBACKTRANS

JAIR2002 05/09/2010 11:45:34
#352272
Pessoal,

Preciso implementar uma transação no meu sistema, tenho que gravar em quatro tabelas, (tblBoletim, tblComunicantes, tblAutores, tblVitimas) ao mesmo tempo. Uso o ado para gravar.

- os dados para serem gravados em tblAutores e tblVitimas estão em uma ListWiew.


Alguem tem alguma rotina que possa me servir de exemplo.

as que encontrei na busca infelismente não deu para sanar minhas duvidas.

uso o VB e Access 2003.

grato.
INFOSISTEMAS 05/09/2010 12:55:41
#352284
pelo que entendi, vc deseja gravar 4 tabelas ao mesmo tem po simples vc grava a primeira de a segunda assim por diante pronto, no caso vc pode usar o BEGINTRANS - COMMITTRANS - ROLLBACKTRANS para regularizar as tranzaçoes, caso mais duvidas seja mais claro na pergunta !! uma braço e que deus te abençoe
MSMJUDAS 06/09/2010 08:38:08
#352317
Um exemplo simples:

On Error GoTo TrataErro
Conexao.BeginTrans
Conexao.Execute([Ô]SUA_QUERY_SQL[Ô])
Conexao.CommitTrans
MsgBox [Ô]Dados gravados com sucesso![Ô], vbInformation, [Ô]Cadastro[Ô]
Exit Sub

TrataErro:
Conexao.RollBacktrans
MsgBox [Ô]Não foi possível gravar![Ô], vbCritical, [Ô]Cadastro[Ô]
Exit Sub
JAIR2002 06/09/2010 09:25:31
#352322
MSMJUDAS,

Utilizo o seguinte,

with rs
conexao.BeginTrans
.abro a tabela primeira tabela
gravo na tabela
.fecho a tabela

.abro segunda tabela
gravo
.fecho
conexao.Commitrans
msgbox [Ô]Registro gravado[Ô]

..... assim por diante

só que não da certo.

vc tem algum código pronto que grava em mais de uma tabela para que eu possa dar uma olhada.
THIGO 06/09/2010 14:14:33
#352341
Resposta escolhida
amigo faça assim confome o seu exemplo

with rs
conexao.BeginTrans
[ô].abro a tabela primeira tabela
[ô]gravo na tabela
[ô].fecho a tabela
conexao.Commitrans

conexao.BeginTrans
[ô].abro segunda tabela
[ô]gravo
[ô].fecho
conexao.Commitrans
msgbox [Ô]Registro gravado[Ô]

faça conforme o exemplo que não tem erro

flw

JAIR2002 06/09/2010 22:45:15
#352374
Valeu a todos que ajudaram

vou testar qualquer coisa retorno
Tópico encerrado , respostas não são mais permitidas