BEGINTRANS - COMMITTRANS - ROLLBACKTRANS
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.
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.
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
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
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
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.
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.
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
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
Valeu a todos que ajudaram
vou testar qualquer coisa retorno
vou testar qualquer coisa retorno
Tópico encerrado , respostas não são mais permitidas