title image


Smiley Machs mal so:
Das geht etwa so:



Public Sub TabellenUeberschreiben()



'0. Aufruf durch: cmdImport_Click() des frm_projektverwaltung

' Aktion: bisherige Tabellen werden geleert

' aus den Import-Tabellen werden die neuen Daten eingefügt

' diese beiden Aktionen sind mit einem connFront.BeginTrans und connFront.CommitTrans

' aneinader gekoppelt

' Rückgabe: keine

Dim connFront As Connection

On Error GoTo Err_TabellenUeberschreiben

'1. Setzen der connection

Set connFront = CurrentProject.Connection

'2. Id des aktuell geöffneten FB

midprojekt = Forms!frm_projektverwaltung.lstFB.Column(0)

'3. Alle Tabellen löschen: Per VBA Löschen nur tblAbt, alle weiteren Löschvorgänge übernimmt

' Access wegen referenzieller Integrität plus Aktualisierungs- und Löschweitergabe

'3.1 Transaktion beginnen -> leider klappt das nicht mit Transaktionen

connFront.BeginTrans

tmpsql = "DELETE tblAbt.lid_abt FROM tblAbt WHERE (([tblAbt]![flid_fb]='" & midprojekt & "'));"

connFront.Execute tmpsql, recaff

'MsgBox recaff

'4. Einfügen der Datensätze aus den Importtabellen, wenn erfolgreich dann

If insertTabellen(connFront) Then

'5. Transaktion abschließen.

connFront.CommitTrans

Else

connFront.RollbackTrans

End If

connFront.Close

Exit_TabellenUeberschreiben:

Exit Sub

Err_TabellenUeberschreiben:

connFront.RollbackTrans

connFront.Close

MsgBox Err.Description

Resume Exit_TabellenUeberschreiben



'''''''''''''''''''''''''''''''''''''''

Private Function insertTabellen(conn as Connection) As Boolean

'Dim connFront As Connection

On Error GoTo Err_insertTabellen



tmpsql = "INSERT INTO tblAbt SELECT ItblAbt.* FROM ItblAbt;"

conn.Execute tmpsql, recaff

tmpsql = "INSERT INTO tblUA SELECT ItblUA.* FROM ItblUA;"

conn.Execute tmpsql, recaff

tmpsql = "INSERT INTO tblBE SELECT ItblBE.* FROM ItblBE;"

conn.Execute tmpsql, recaff

tmpsql = "INSERT INTO tblBE8 SELECT ItblBE8.* FROM ItblBE8;"

conn.Execute tmpsql, recaff

tmpsql = "INSERT INTO tblBV SELECT ItblBV.* FROM ItblBV;"

conn.Execute tmpsql, recaff

tmpsql = "INSERT INTO tblBVB SELECT ItblBVB.* FROM ItblBVB;"

conn.Execute tmpsql, recaff

tmpsql = "INSERT INTO tblBA SELECT ItblBA.* FROM ItblBA;"

conn.Execute tmpsql, recaff

insertTabellen = True

Exit_insertTabellen:

Exit Function

Err_insertTabellen:

insertTabellen = False

MsgBox Err.Description

Resume Exit_insertTabellen



End Function







Gruß aus dem Norden
Reinhard


Bitte immer die Access-Version angeben!
DB-Wiki


Wie man Fragen richtig stellt

YaccessAccess-FAQUnd ansonsten: Wikipedia




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: