Announcement

Collapse
No announcement yet.

BEGIN TRANSACTION per VBA Macro

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BEGIN TRANSACTION per VBA Macro

    Hallo,

    ich habe bei meiner MS SQL Datenbank welche durch Daten aus einem Excel VBA Makro gefüllt wird.

    Nun würde ich gerne eine Transaction aus dem Macro herraus starten und wieder beenden, um Dateninkonsistenz, bei Abbruch des Markos oder Sonstige Fehler zu Vermeiden.

  • #2
    Hallo,
    versuch es mal damit:

    Code:
    'Verweis auf "Microsoft ActiveX Data Objects 2.8 Library" muss vorhanden sein...
    
      Dim cnn As ADODB.Connection
      Dim Rst As ADODB.Recordset
    
      Set cnn = New ADODB.Connection
      Set Rst = New ADODB.Recordset
        
        'DB öffnen, z.B....
        
        With cnn
            .ConnectionString = "Provider=sqloledb; Data Source=srv;Initial Catalog=MyDB;User Id=sa;Password=MyPWD; "
            .CursorLocation = adUseClient
    
            'Isolationslevel einstellen z.B......ReadCommitted
            .IsolationLevel = adXactReadCommitted
    
            .Open
        End With
    
      On Error GoTo errHandler
        cnn.BeginTrans
      
      'Transaktion
      
      cnn.CommitTrans
    
      cnn.Close
      Set Rst = Nothing
      Set cnn = Nothing
      Exit Sub
      
    errHandler:
      cnn.RollbackTrans
      cnn.Close
      Set Rst = Nothing
      Set cnn = Nothing
    Zuletzt editiert von M Merlin; 22.02.2007, 13:14.

    Comment


    • #3
      Ich greif per OBDC Link auf die Datenbank zu, da funktioniert das leider nicht.

      Comment


      • #4
        Probier mal den Connectionstring zu tauschen....

        Hier kannst du den Zugriff/Syntax unter ODBC nachlesen...

        http://www.connectionstrings.com/?carrier=sqlserver

        Comment

        Working...
        X