Hallo zusammen,^^^^
ich habe verschiedene Arten von Verträgen mit unterschiedlichen Laufzeiten.
Ich habe eine Laufzeit von 4 Jahren, 6 Jahren, 8 Jahren, 10Jahren und 12 Jahren.
ich exportiere die Verträge momentan immer in das selbe Excel Sheet.
Es ist für alle Verträge ausgelegt.^^ (Sieht ein wenig dumm aus, bei nem Vertrag mit 4 Jahren, so viele #NV Sad
Nun möchte ich aber das er pro unterschiedliche Laufzeit den Vertrag in das für die bestimmte Laufzeit vorgefertigte Excel Sheet exportiert.
Zum exportieren verwende ich folgenden Code.
On Error GoTo fehlerbehandlung:
Dim xlApp As Object 'Excel.Application
Dim xlBook As Object 'Excel.Workbook
Dim xlSheet As Object 'Excel.Worksheet
Dim rst As DAO.Recordset, SuWID As Long, tmpStr As String
SuWID = InputBox("Welche ID möchten sie exportieren?", "Export value required", 1)
Set rst = CurrentDb.OpenRecordset("SELECT SAP, Geris, Pauschale, SuWID, Jahr_Y, BT_Name, SAP_Nummer, Vertragsbeginn, Vertragsende FROM Abfrage_alles WHERE SuWID = " & SuWID)
If rst.RecordCount > 0 Then
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open("C:\Users\GRIMBEN\Desktop\Try5.xlsm")
Set xlSheet = xlBook.Sheets("Tabelle1")
xlSheet.Range("A6:I18").ClearContents
xlSheet.Range("A6").CopyFromRecordset rst
Else
MsgBox "No information to export", vbInformation, "No data exported"
End If
rst.Close
Set rst = Nothing
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
Exit Sub:
fehlerbehandlung:
MsgBox Err.Description, vbDefaultButton1, "Abbruch"
Im Formular heißt das Feld Laufzeit: Laufzeit_des_Vertrags
Muss ich das jetzt in die Abfrage aufnehmen?
Wie muss ich den Code ändern?^^^
Die Excel Sheet würden dann irgendwie SuW_4Jahre, SuW_6Jahre usw. heißen.
Vielen Dank im Voraus.
Hallo,
setz halt das Feld bei set xlSheet= ein
Set xlSheet = xlBook.Sheets(Me!Laufzeit_des_Vertrags)
Hey danke für deine Antwort.
Mit deiner Lösung muss der User aber immer bei der bestimmten ID wissen, wie lang die Laufzeit ist.
Kann man ihm auch schon irgendwie automatisch mitgeben, wie lang die Laufzeit ist und er dann das entsprechende Formular öffnet?
Hallo,
ich versteh die Situation nicht..
ZitatIm Formular heißt das Feld Laufzeit: Laufzeit_des_Vertrags
Hier steht doch die Laufzeit...
Oder soll dieses Feld ein "Kriterium " für die Selektion der Verträge sein?
Zitat
Nun möchte ich aber das er pro unterschiedliche Laufzeit den Vertrag in das für die bestimmte Laufzeit vorgefertigte Excel Sheet exportiert.
Prinzipiell muss in einer Schleife über alle möglichen Laufzeiten jeweils der SQL-String entspr. dieses Kriteriums modifiziert, das entspr. Excel-Sheet namentlich definiert und der Transfer durchgeführt werden.
Sorry,
hab ich falsch erklärt.
In der Abfrage steht das Vertragslaufzeit. Nicht im Formular.
Ich hab im Access einen Button.
Auswertung eines Vertrags pro ID.
In diesem Button steht der VBA Code.
Nun möchte ich das er automatisch, je nach Laufzeit des Vertrags, das jeweilige Excel Sheet öffnet.
Also wenn der Vertrag 4 Jahre läuft, dann öffne Excel Sheet 4 Jahre
usw.
Verstehst du was ich meine?
Hi,
ist denn nicht schon in der Antwort 12 von http://www.access-o-mania.de/forum/index.php?topic=18147.msg102502#msg102502
die Frage beantwortet?
Harald
hey,
ne das ist ein anderes Thema.
Ich hab es jetzt aber anders gelöst.
Ich benutze jetzt ein Excel Sheet für alle Verträge und blende dann die entsprechenden Spalten je nach Vertrag aus.
Danke für eure Hilfe.!