Avatar billede joki Mester
02. september 2007 - 17:16 Der er 3 kommentarer og
1 løsning

brug af transactions på flere recordset

Hej

Jeg har indlæst data i nogle objekter. Jeg ønker at opdatere 3 tabeller med data fra objekterne. Tabellerne har hver sit recordset. Hvordan sikre jeg mig at alle tre tabeller opdateres. hvis bare en fejler skal ingen opdatares.
Avatar billede jesperfjoelner Nybegynder
02. september 2007 - 21:29 #1
Du bruger noget i stil med:
----

On Error Goto Err_

BeginsTrans

'her kører din kode din kode med de 3 recordset

CommitTrans



Err_:
  Rollback
  msgbox "Der skete en fejl og handlingen blev annulleret."
Avatar billede jesperfjoelner Nybegynder
02. september 2007 - 21:30 #2
Brug af transactions speeder også eksekveringen af koden op.
Avatar billede joki Mester
03. september 2007 - 19:10 #3
Jeg fik nedenstående til at virke tak for hjælpen

Dim con As New Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset

On Error GoTo Err_Kommandoknap8_Click

Set con = CurrentProject.Connection


rs.Open "Tabel1", con, adOpenDynamic, adLockPessimistic, adCmdTable
rs1.Open "Tabel2", con, adOpenDynamic, adLockPessimistic, adCmdTable



con.BeginTrans


With rs

.AddNew
rs![navn] = "Test"
rs.Update
End With



With rs1

.AddNew
rs1![navn] = "Test"
rs1.Update
End With


con.CommitTrans


Exit_Kommandoknap8_Click:
    Exit Sub

Err_Kommandoknap8_Click:
con.RollbackTrans

    MsgBox ("fejl")
    Resume Exit_Kommandoknap8_Click
Avatar billede jesperfjoelner Nybegynder
03. september 2007 - 20:03 #4
Mange tak, jeg var ikke klar over at du bruge ADO.
Godt det virker :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester