[COLOR=blue]Option Compare Database
Option Explicit
Private mblnUp As Boolean
Private mlngPos As Long
Const cmlngMax As Long = 10
Const cmstrMsg As String = "Bitte warten, bin noch am arbeiten!"[/[/COLOR]CODE]
[CODE]Private Sub Befehl13_Click()
Dim xlApp As Object 'Excel.Application
Dim xlBook As Object 'Excel.Workbook
Dim xlSheet As Object 'Excel.Worksheet
Dim xlsheet2 As Object
Dim rstID As DAO.Recordset, tmpStr As String
Dim rstGr As DAO.Recordset, strSQL As String
Dim rst As DAO.Recordset
strSQL = "SELECT SuWID FROM Abfrage_laufend_PRAP_Klagenfurt GROUP BY SuWID;"
MsgBox "Die Auswertung wird gestartet"
Set rstID = CurrentDb.OpenRecordset(strSQL)
If rstID.RecordCount > 0 Then
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open("S:\Access\SuW\Tabellen\Test10.xlsm")
Do While Not rstID.EOF
[COLOR=blue] Me.TimerInterval = 5
Me.OnTimer = "[Event Procedure]"
mblnUp = True
mlngPos = 1
FnBalkenanzeige cmstrMsg, mlngPos * 10, False
If mblnUp Then
If mlngPos < cmlngMax Then
mlngPos = mlngPos + 1
Else
mblnUp = False
mlngPos = mlngPos - 1
End If
Else
If mlngPos > 0 Then
mlngPos = mlngPos - 1
Else
mblnUp = True
mlngPos = mlngPos + 1
End If
End If
If mblnUp Then
SysCmd acSysCmdUpdateMeter, mlngPos
Else
SysCmd acSysCmdClearStatus
SysCmd acSysCmdInitMeter, cmstrMsg, cmlngMax
SysCmd acSysCmdUpdateMeter, mlngPos
End If[/COLOR]
Set xlSheet = xlBook.Sheets("Tabelle1")
Set rstGr = CurrentDb.OpenRecordset("SELECT SAP1, Geris1, Pauschale1, SuWID, Jahr_Z, Monat_X, BT_Name, Vertragsbeginn, Vertragsende, Laufzeit_des_Vertrags, Zusatztext, Rückstellung, PRAP, Zusatztext_Bezahlung, Anzahl_Fahrzeuge FROM Abfrage_laufend_PRAP_Klagenfurt WHERE SuWID = " & rstID.Fields("SuWID"))
xlSheet.Copy before:=xlSheet
xlSheet.Name = "SuWID" & rstID.Fields("SuWID")
xlBook.Sheets("SuWID" & CStr(rstID![SuWID])).Range("A13").CopyFromRecordset rstGr
Set rstGr = CurrentDb.OpenRecordset("SELECT SuWID, SAP_Nummer FROM Abfrage_SAP_Nummer_Export_laufend WHERE SuWID = " & rstID.Fields("SuWID"))
xlBook.Sheets("SuWID" & CStr(rstID![SuWID])).Range("A1000:B18000").ClearContents
xlBook.Sheets("SuWID" & CStr(rstID![SuWID])).Range("A1000").CopyFromRecordset rstGr
xlBook.Sheets("Tabelle1 (2)").Select
xlBook.Sheets("Tabelle1 (2)").Name = "Tabelle1"
rstGr.Close
rstID.MoveNext
[COLOR=blue] FnBalkenanzeige "", 101
Me.TimerInterval = 0
Me.OnTimer = ""
[/COLOR]
Loop
Else
MsgBox "No information to export", vbInformation, "No data exported"
End If
rstID.Close
Set rstID = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
MsgBox "Die Auswertung ist abgeschlossen"